Función FILTRAR en Excel (matrices dinámicas)
Aprende a usar FILTRAR en Excel para extraer filas que cumplen una o varias condiciones, y que se actualiza sola. Guía con demo interactivo.
La función FILTRAR es una de las funciones más potentes que ha traído la nueva generación de matrices dinámicas a Excel. Te permite extraer, con una sola fórmula, todas las filas de un rango que cumplan una o varias condiciones, sin tocar el filtro manual ni escribir una sola macro. El resultado se derrama automáticamente en las celdas adyacentes, así que en cuanto pulsas Intro ves toda la lista filtrada de golpe.
A diferencia del autofiltro clásico (el de las flechitas en la cabecera de la tabla), que solo oculta las filas que no cumplen el criterio, la función FILTRAR genera un rango nuevo, real y editable en otra parte de la hoja, que se actualiza solo cada vez que cambian los datos de origen. Es la diferencia entre esconder filas y tener un informe vivo.
En esta guía vas a ver la sintaxis exacta de FILTRAR, ejemplos con una condición y con varias condiciones (usando los operadores Y y O), cómo combinarla con ORDENAR y ÚNICOS para construir informes dinámicos, por qué aparece el temido error #¡DESBORDE!, en qué versiones de Excel está disponible y cómo se traduce todo esto a Google Sheets.

Qué es la función FILTRAR y qué devuelve
La función FILTRAR pertenece a la familia de funciones de matriz dinámica introducidas en Excel 365, junto a ORDENAR, ÚNICOS o SECUENCIA. Su trabajo es simple de explicar: revisa un rango de celdas, aplica una condición lógica y devuelve solo las filas (o columnas) que la cumplen.
Lo interesante es cómo entrega el resultado. En lugar de escribir la fórmula en cada celda del rango de salida, la escribes una sola vez en la celda superior izquierda y Excel calcula automáticamente cuántas filas necesita, ocupando las celdas vacías de alrededor. A ese comportamiento se le llama derrame o spill, y al rango resultante se le conoce como rango de derrame.
Cómo reconocer una celda que pertenece a un rango derramado
Haz clic en cualquier celda del resultado y fíjate en la barra de fórmulas: si la fórmula aparece en color gris y no puedes editarla directamente, es una celda derramada, no la fórmula original. Solo la esquina superior izquierda contiene la fórmula real; el resto son referencias automáticas a ella.
Esto tiene una consecuencia práctica muy importante: no puedes escribir nada dentro del área donde Excel necesita derramar el resultado. Si hay datos, aunque sea en una sola celda, la fórmula no se calculará y verás el error #¡DESBORDE!, que trataremos más adelante.
Sintaxis de la función FILTRAR
La sintaxis de FILTRAR en español es la siguiente: =FILTRAR(matriz; incluir; [si_vacío]). Solo tiene tres argumentos y únicamente el tercero es opcional.
| Argumento | Qué es | ¿Obligatorio? |
|---|---|---|
| matriz | El rango de datos que quieres filtrar (puede incluir una o varias columnas). | Sí |
| incluir | La condición lógica que decide qué filas se mantienen. Debe devolver VERDADERO o FALSO para cada fila de la matriz. | Sí |
| si_vacío | El valor que se muestra si ninguna fila cumple la condición (evita el error #¡CALC!). | No |
El argumento incluir es el corazón de la función: normalmente es una comparación como rango=valor, rango>100 o una combinación de varias condiciones con operadores. El resultado interno es una matriz de VERDADERO/FALSO del mismo tamaño que tu rango de datos, y FILTRAR se queda solo con las filas marcadas como VERDADERO.
Pruébalo: FILTRAR en vivo
| Vendedor | Producto | Importe (€) |
|---|
↑ FILTRAR devuelve solo las filas que cumplen la condición, y se actualiza sola al cambiar el criterio.
Ejemplo básico: filtrar las ventas de un vendedor
Imagina una tabla con las columnas Vendedor, Producto e Importe, desde la fila 2 hasta la 200 (rango A2:C200). Quieres extraer únicamente las filas del vendedor «Marta».
- Selecciona la celda donde quieres que aparezca el resultado, por ejemplo E2.
- Escribe la fórmula =FILTRAR(A2:C200; A2:A200=»Marta»; «No hay ventas»).
- Pulsa Intro: Excel calcula todas las filas donde la columna Vendedor sea igual a «Marta» y las derrama desde E2 hacia abajo y hacia la derecha.
- Si Marta no tiene ninguna venta ese periodo, en E2 aparecerá el texto «No hay ventas» en lugar de un error.
Fíjate en que la condición A2:A200=»Marta» compara toda la columna del vendedor con el texto, celda a celda, generando la matriz de VERDADERO/FALSO que mencionábamos antes. Puedes sustituir el texto fijo por la referencia a una celda, por ejemplo A2:A200=H1, para que el usuario elija el vendedor desde una lista desplegable y el informe se actualice solo.
Filtrar con varias condiciones: Y (*) y O (+)
FILTRAR admite condiciones compuestas sin necesidad de funciones adicionales. La clave está en cómo combinas las comparaciones dentro del argumento incluir: con el asterisco (*) para exigir que se cumplan todas las condiciones (Y lógico), y con el signo más (+) para que baste con que se cumpla una de ellas (O lógico).
Condición Y: se deben cumplir todas las condiciones
Para quedarte solo con las ventas de «Marta» que además superen los 500 euros, multiplicas las dos comparaciones: =FILTRAR(A2:C200; (A2:A200=»Marta»)*(C2:C200>500); «Sin resultados»). Internamente, VERDADERO vale 1 y FALSO vale 0, así que al multiplicar solo da 1 (y por tanto se incluye la fila) cuando ambas condiciones son verdaderas.
Condición O: basta con que se cumpla una condición
Si quieres ver las filas de «Marta» o de «Luis», sumas las comparaciones en lugar de multiplicarlas: =FILTRAR(A2:C200; (A2:A200=»Marta»)+(A2:A200=»Luis»); «Sin resultados»). Aquí basta con que una de las dos sea VERDADERO (1) para que la suma sea mayor que cero y la fila se incluya.
| Objetivo | Operador | Ejemplo de condición |
|---|---|---|
| Todas las condiciones a la vez (Y) | * (asterisco) | (A2:A200=»Marta»)*(C2:C200>500) |
| Al menos una condición (O) | + (signo más) | (A2:A200=»Marta»)+(A2:A200=»Luis») |
| Mezclar Y y O | * y + con paréntesis | ((A2:A200=»Marta»)+(A2:A200=»Luis»))*(C2:C200>500) |
Combinar FILTRAR con ORDENAR y ÚNICOS
FILTRAR se lleva especialmente bien con las otras funciones de matriz dinámica. Al anidarlas, construyes en una sola celda informes que antes necesitaban varias columnas auxiliares o una tabla dinámica.
Para mostrar el resultado filtrado ya ordenado de mayor a menor importe, envuelve FILTRAR dentro de ORDENAR: =ORDENAR(FILTRAR(A2:C200; A2:A200=»Marta»); 3; -1). Primero se filtran las filas de Marta y después ORDENAR las reorganiza por la tercera columna (Importe) en orden descendente.
Si lo que necesitas es una lista de valores únicos que cumplan una condición (por ejemplo, qué productos ha vendido Marta, sin repetidos), anidas ÚNICOS: =ÚNICOS(FILTRAR(B2:B200; A2:A200=»Marta»)). Y si además quieres verla ordenada alfabéticamente, añades ORDENAR por fuera: =ORDENAR(ÚNICOS(FILTRAR(B2:B200; A2:A200=»Marta»))).
FILTRAR frente a las funciones de búsqueda tradicionales
Es fácil confundir FILTRAR con funciones de búsqueda como BUSCARV, BUSCARH o la combinación INDICE y COINCIDIR. La diferencia es el número de resultados: las funciones de búsqueda están pensadas para devolver un único valor (el primero que coincide), mientras que FILTRAR devuelve todas las filas que cumplen la condición, sin límite. Si necesitas ubicar un dato concreto en una tabla horizontal, BUSCARH sigue siendo la herramienta adecuada; si necesitas extraer un listado completo, FILTRAR es la opción correcta.
El error #¡DESBORDE! (spill) en FILTRAR
El error #¡DESBORDE! es probablemente el que más veces te vas a encontrar mientras aprendes a usar FILTRAR. Aparece cuando Excel sabe cuántas filas debería devolver la fórmula, pero no puede escribirlas porque el camino está bloqueado.
- Hay datos o valores en alguna de las celdas donde debería derramarse el resultado, aunque sea una sola celda varias filas más abajo.
- La fórmula está dentro de una tabla de Excel (Ctrl+T): las matrices dinámicas no se derraman correctamente dentro de tablas estructuradas.
- Hay celdas combinadas en la zona de derrame, lo que rompe la cuadrícula que necesita la matriz.
- La fórmula está muy cerca del borde de la hoja y no hay suficientes filas o columnas físicas para completar el derrame.
La solución casi siempre pasa por vaciar el rango donde debe caer el resultado (Excel te muestra el contorno de puntos con el tamaño necesario si haces clic en la celda con el error) o por sacar la fórmula fuera de una tabla estructurada, ya que dentro de una tabla las fórmulas se comportan celda a celda y no pueden derramarse.
También puede aparecer si tu fórmula está dentro de una celda con formato de texto forzado, o si hay una fórmula normal (no de matriz dinámica) escrita más abajo que Excel no puede sobrescribir automáticamente. Revisar visualmente la columna completa suele bastar para localizar el obstáculo.
FILTRAR es dinámica: la gran diferencia con el autofiltro
El autofiltro tradicional de Excel, el que activas con Ctrl+Mayús+L, es una herramienta manual: tú eliges los criterios en el menú desplegable, Excel oculta las filas que no encajan y, si añades una fila nueva de datos, tienes que volver a aplicar el filtro para que se tenga en cuenta.
La función FILTRAR, en cambio, es una fórmula. Se recalcula automáticamente cada vez que Excel recalcula la hoja, igual que haría una suma o una búsqueda. Si añades una fila nueva dentro del rango de origen, cambias un importe o corriges un nombre de vendedor, el resultado filtrado se actualiza sin que tengas que hacer nada más. Para profundizar en las diferencias prácticas entre ambos enfoques y cuándo conviene cada uno, tienes una comparación completa en cómo ordenar y filtrar en Excel.
| Autofiltro | Función FILTRAR | |
|---|---|---|
| Cómo actúa | Oculta filas visualmente | Genera un rango nuevo de datos |
| Se actualiza solo | No, hay que reaplicarlo | Sí, es una fórmula dinámica |
| Se puede usar en otra hoja | No directamente | Sí, sin problema |
| Permite varios criterios complejos (Y/O) | Limitado | Sí, con * y + |
En qué versiones de Excel está disponible FILTRAR
FILTRAR pertenece al grupo de funciones de matriz dinámica, y eso limita en qué versiones puedes usarla. Actualmente está disponible en:
- Microsoft 365, en su versión de suscripción, tanto para Windows como para Mac.
- Excel 2021 y Excel 2024, las versiones de licencia perpetua más recientes.
- Excel para la web (Excel Online), integrado en OneDrive y SharePoint.
- Google Sheets, con su función equivalente FILTER (la veremos al final del artículo).
Por el contrario, no está disponible en Excel 2019, Excel 2016 ni versiones anteriores. Si abres un archivo con FILTRAR en una de esas versiones, verás el error #¿NOMBRE? en lugar del resultado, porque Excel simplemente no reconoce la función. Antes de compartir una plantilla con FILTRAR, conviene comprobar qué versión usan tus compañeros o clientes.
Alternativa clásica sin FILTRAR: el filtro avanzado
Si trabajas con Excel 2019 o anterior, o simplemente necesitas compatibilidad total con archivos antiguos, puedes reproducir buena parte de lo que hace FILTRAR con el filtro avanzado (pestaña Datos, botón Avanzadas).
- Crea un rango de criterios en una zona aparte de la hoja, repitiendo las cabeceras de las columnas que quieres filtrar.
- Escribe debajo de cada cabecera la condición que buscas (por ejemplo, «Marta» bajo Vendedor).
- Ve a Datos > Avanzadas, selecciona el rango de la lista, el rango de criterios y, si quieres, un rango de destino para copiar el resultado a otra zona.
- Pulsa Aceptar: Excel copia las filas que cumplen los criterios en el destino elegido.
Ventajas de FILTRAR frente al filtro avanzado
El filtro avanzado exige repetir el proceso cada vez y no admite condiciones tipo O tan fácilmente como FILTRAR con el operador +. A cambio, funciona en cualquier versión de Excel, incluidas las más antiguas, así que sigue siendo útil si compartes archivos con equipos que no tienen Microsoft 365.
FILTRAR en Google Sheets: la función FILTER
Google Sheets incorporó su propia versión de esta función bastante antes de que llegara a Excel de escritorio, y se llama FILTER en la versión en inglés (FILTRAR si la hoja está en español). El concepto es idéntico: le pasas un rango y una o varias condiciones, y te devuelve solo las filas que las cumplen, también con derrame automático.
La diferencia más visible al pasar fórmulas entre ambos programas está en los separadores: Google Sheets usa comas mientras que Excel en español usa punto y coma, y además el orden y número de argumentos cambia ligeramente.
| Excel (español) | Google Sheets | |
|---|---|---|
| Sintaxis | =FILTRAR(matriz; incluir; [si_vacío]) | =FILTER(rango, condición1, [condición2, …]) |
| Condición Y | Multiplicar con * | Se listan varias condiciones separadas por comas |
| Condición O | Sumar con + | (condición1)+(condición2) |
| Valor si vacío | Tercer argumento si_vacío | No existe; se combina con IFERROR |
Otra diferencia importante: FILTER de Google Sheets no tiene un argumento equivalente a si_vacío. Si ninguna fila cumple la condición, Sheets devuelve directamente el error, y para gestionarlo tienes que envolver la fórmula en IFERROR, el equivalente de SI.ERROR en Excel.
Nuestras plantillas ya traen los filtros montados. Descárgalas gratis.
Preguntas habituales
¿Por qué me da error #¡CALC! al usar FILTRAR?
¿Puedo usar FILTRAR para buscar texto que solo contenga una palabra, no que coincida exactamente?
¿FILTRAR modifica o mueve los datos originales?
¿Puedo filtrar columnas en lugar de filas?
¿Cómo sé cuántas filas ha devuelto FILTRAR?
¿Funciona FILTRAR dentro de una tabla de Excel (Ctrl+T)?
¿Por qué en mis fórmulas veo punto y coma y en tutoriales en inglés veo comas?
¿Puedo editar directamente una celda dentro del resultado derramado por FILTRAR?
Lo esencial
La función FILTRAR cambia por completo la forma de trabajar con listas en Excel: en lugar de esconder filas con el autofiltro o duplicar datos con fórmulas sueltas, obtienes un rango dinámico que se actualiza solo, admite condiciones múltiples con los operadores Y y O, y se combina sin fricción con ORDENAR y ÚNICOS para montar informes completos en una única celda.
Empieza por un caso sencillo, como el ejemplo del vendedor de este artículo, y ve añadiendo condiciones poco a poco. En cuanto le cojas el truco al argumento incluir y sepas resolver el error #¡DESBORDE!, FILTRAR se convertirá en una de las funciones que más uses en tu día a día con Excel.
Excel® es una marca registrada de Microsoft Corporation. Este sitio no está afiliado a Microsoft.