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.

fxBlog

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.

Listo·Alejandro·15 min de lectura·Actualizado 5 Oct 2026

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.

Función FILTRAR en Excel (matrices dinámicas)
Función FILTRAR en Excel (matrices dinámicas)

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.

📌
El rango de derrame es un bloque únicoAunque el resultado de FILTRAR ocupe 50 celdas, Excel lo trata como una sola fórmula. Si seleccionas cualquier celda derramada verás la fórmula completa (=FILTRAR(…)) en la celda superior izquierda y en gris en las demás celdas derramadas, además de un borde azul que delimita todo el rango.

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.

ArgumentoQué es¿Obligatorio?
matrizEl rango de datos que quieres filtrar (puede incluir una o varias columnas).Sí
incluirLa condición lógica que decide qué filas se mantienen. Debe devolver VERDADERO o FALSO para cada fila de la matriz.Sí
si_vacíoEl 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.

💡
Usa siempre si_vacíoSi existe la posibilidad de que ningún registro cumpla la condición (por ejemplo, un vendedor sin ventas ese mes), añade el tercer argumento: =FILTRAR(datos; condición; «Sin resultados»). Así evitas el error #¡CALC! y tu hoja queda mucho más limpia y profesional.

Pruébalo: FILTRAR en vivo

=FILTRAR(datos; vendedor=»Ana«)
VendedorProductoImporte (€)

↑ 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».

  1. Selecciona la celda donde quieres que aparezca el resultado, por ejemplo E2.
  2. Escribe la fórmula =FILTRAR(A2:C200; A2:A200=»Marta»; «No hay ventas»).
  3. 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.
  4. 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.

💡
Combínalo con una lista desplegableSi en H1 pones una validación de datos con la lista de vendedores, conviertes esta fórmula en un buscador dinámico: cambias el nombre en H1 y toda la tabla filtrada se recalcula al instante, sin tocar ni un filtro.

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.

ObjetivoOperadorEjemplo 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)
⚠️
Cuidado al mezclar Y y OCuando combines los dos operadores en la misma fórmula, usa paréntesis para dejar clara la prioridad, igual que en matemáticas. La fórmula ((A2:A200=»Marta»)+(A2:A200=»Luis»))*(C2:C200>500) primero calcula el O entre vendedores y después exige el importe superior a 500 para el resultado combinado; escrita en otro orden de paréntesis el resultado cambia por completo.

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»))).

📌
El orden de anidación importaFILTRAR se coloca siempre más adentro porque primero necesitas reducir los datos y después ordenarlos o quitar duplicados sobre ese resultado ya reducido. Hacerlo al revés (ordenar o quitar duplicados sobre toda la tabla y filtrar después) suele funcionar, pero es menos eficiente y más difícil de leer.

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.

  1. 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.
  2. La fórmula está dentro de una tabla de Excel (Ctrl+T): las matrices dinámicas no se derraman correctamente dentro de tablas estructuradas.
  3. Hay celdas combinadas en la zona de derrame, lo que rompe la cuadrícula que necesita la matriz.
  4. 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.

⚠️
No confundas #¡DESBORDE! con #¡CALC!El error #¡DESBORDE! indica un obstáculo físico en la hoja. El error #¡CALC!, en cambio, aparece cuando FILTRAR no encuentra ninguna fila que cumpla la condición y no has rellenado el argumento si_vacío. Son dos problemas distintos con soluciones distintas.

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.

AutofiltroFunción FILTRAR
Cómo actúaOculta filas visualmenteGenera un rango nuevo de datos
Se actualiza soloNo, hay que reaplicarloSí, es una fórmula dinámica
Se puede usar en otra hojaNo directamenteSí, sin problema
Permite varios criterios complejos (Y/O)LimitadoSí, 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:

  1. Microsoft 365, en su versión de suscripción, tanto para Windows como para Mac.
  2. Excel 2021 y Excel 2024, las versiones de licencia perpetua más recientes.
  3. Excel para la web (Excel Online), integrado en OneDrive y SharePoint.
  4. 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).

  1. Crea un rango de criterios en una zona aparte de la hoja, repitiendo las cabeceras de las columnas que quieres filtrar.
  2. Escribe debajo de cada cabecera la condición que buscas (por ejemplo, «Marta» bajo Vendedor).
  3. 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.
  4. 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.

📌
La diferencia clave frente a FILTRAREl filtro avanzado ejecuta la operación una sola vez, como una fotografía. Si cambian los datos de origen, tienes que volver a abrir el cuadro de diálogo y repetir el proceso. FILTRAR, al ser una fórmula viva, se ahorra ese paso manual cada vez que se recalcula la hoja.

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 YMultiplicar con *Se listan varias condiciones separadas por comas
Condición OSumar con +(condición1)+(condición2)
Valor si vacíoTercer argumento si_vacíoNo 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.

¿Buscas y filtras datos a mano?

Nuestras plantillas ya traen los filtros montados. Descárgalas gratis.

Ver la plantilla →

Preguntas habituales

¿Por qué me da error #¡CALC! al usar FILTRAR?
El error #¡CALC! aparece cuando ninguna fila de tu rango cumple la condición indicada y no has definido el tercer argumento si_vacío. Añade ese argumento, por ejemplo con un texto como «Sin resultados», para evitarlo.
¿Puedo usar FILTRAR para buscar texto que solo contenga una palabra, no que coincida exactamente?
Sí. En lugar de comparar con el signo igual, usa la función ESNUMERO junto a HALLAR o ENCONTRAR dentro del argumento incluir, por ejemplo: =FILTRAR(A2:C200; ESNUMERO(HALLAR(«marta»; A2:A200))). HALLAR no distingue mayúsculas de minúsculas; si necesitas distinguirlas, usa ENCONTRAR.
¿FILTRAR modifica o mueve los datos originales?
No. FILTRAR es una función de solo lectura: consulta el rango de origen y genera un resultado independiente en otra zona de la hoja. Los datos originales permanecen intactos en todo momento.
¿Puedo filtrar columnas en lugar de filas?
Sí. Si tu condición se aplica a un rango en horizontal en lugar de en vertical, FILTRAR también funciona por columnas: solo tienes que asegurarte de que la matriz y la condición de incluir compartan la misma orientación.
¿Cómo sé cuántas filas ha devuelto FILTRAR?
Envuelve la fórmula con FILAS, por ejemplo =FILAS(FILTRAR(A2:C200; A2:A200=»Marta»)), y obtendrás el número total de registros que cumplen la condición, muy útil para indicadores o resúmenes.
¿Funciona FILTRAR dentro de una tabla de Excel (Ctrl+T)?
Como fuente de datos, sí puedes referenciar una tabla con total normalidad. El problema aparece si intentas escribir la fórmula FILTRAR dentro de las celdas de una tabla estructurada, porque el derrame no funciona correctamente ahí. Coloca siempre el resultado de FILTRAR fuera de la tabla.
¿Por qué en mis fórmulas veo punto y coma y en tutoriales en inglés veo comas?
Es simplemente una cuestión de configuración regional. Excel en español (y la mayoría de configuraciones europeas) usa el punto y coma como separador de argumentos, mientras que el inglés de Estados Unidos usa la coma. La función y su comportamiento son exactamente los mismos.
¿Puedo editar directamente una celda dentro del resultado derramado por FILTRAR?
No de forma directa: solo la celda superior izquierda contiene la fórmula, y el resto son celdas dependientes de ella. La fórmula de las celdas derramadas aparece en gris y no se puede modificar desde ellas. Si escribes un valor encima, bloqueas el derrame y la celda superior izquierda mostrará el error #¡DESBORDE!. Para cambiar el resultado, edita siempre la fórmula original.

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *