La función FILTRAR devuelve las filas de un rango que cumplen la condición que tú definas. En lugar de copiar, ordenar o usar el autofiltro a mano, escribes una fórmula y Excel derrama las filas coincidentes en las celdas de abajo. Cuando cambian los datos de origen, el resultado se actualiza solo.
Practica FILTRAR en una cuadrícula en vivo →FILTRAR es una función de matriz dinámica, disponible en Excel para Microsoft 365 y en Excel 2021 y posteriores. No está en Excel 2019 ni en versiones anteriores.
Sintaxis
=FILTRAR(matriz; incluir; [si_vacío])
- matriz: el rango de filas que quieres devolver.
- incluir: una condición que da VERDADERO o FALSO para cada fila. Solo vuelven las filas con VERDADERO.
- si_vacío: opcional. Qué mostrar cuando ninguna fila coincide (si no, obtienes un error #¡CALC!).
Devolver las filas de una región
Con nombres en A2:A100, regiones en B2:B100 y ventas en C2:C100, devuelve todas las filas donde la región sea «Este»:
=FILTRAR(A2:C100; B2:B100="Este"; "Sin coincidencias")
Excel devuelve las tres columnas de las filas coincidentes y las derrama hacia abajo y a lo ancho desde la celda de la fórmula. Agrega una fila nueva de «Este» al origen y el resultado crece automáticamente.
Filtrar por un número
Devuelve las filas donde las ventas superen 5000:
=FILTRAR(A2:C100; C2:C100>5000)
Dos condiciones con Y
Multiplica las condiciones para la lógica Y (ambas deben cumplirse). Que la región sea «Este» y las ventas superen 5000:
=FILTRAR(A2:C100; (B2:B100="Este")*(C2:C100>5000))
Cada condición es una matriz de VERDADERO y FALSO; al multiplicarlas se convierten en unos y ceros, y una fila se conserva solo cuando el producto es 1.
Dos condiciones con O
Suma las condiciones para la lógica O (basta con que se cumpla una). Que la región sea «Este» u «Oeste»:
=FILTRAR(A2:C100; (B2:B100="Este")+(B2:B100="Oeste"))
Devolver una sola columna
FILTRAR también puede extraer una única columna. Devuelve solo los nombres de la región Este:
=FILTRAR(A2:A100; B2:B100="Este")
Errores habituales
- #¡CALC!: ninguna fila coincidió y no indicaste si_vacío. Agrega un tercer argumento como "Sin coincidencias".
- #¡DESBORDAMIENTO!: una celda del rango de derrame no está vacía. Vacía las celdas de abajo y de la derecha de la fórmula.
- #¡VALOR!: los rangos matriz e incluir tienen alturas distintas. Deben tener el mismo número de filas.
- #¿NOMBRE?: tu versión de Excel no tiene FILTRAR. Requiere Microsoft 365 o Excel 2021.
Preguntas frecuentes
¿Cuál es la diferencia entre FILTRAR y el autofiltro?
El autofiltro oculta filas en su sitio y es una acción manual y puntual. FILTRAR es una fórmula que extrae las filas coincidentes a otro lugar y se recalcula sola cuando cambian los datos. Además, FILTRAR deja intactos los datos originales.
¿Cómo filtro por dos o más condiciones?
Combina las condiciones dentro de incluir. Multiplícalas para Y y súmalas para O: (A="x")*(B>1) conserva las filas donde ambas se cumplen y (A="x")+(A="y") conserva aquellas donde se cumple cualquiera.
¿Por qué FILTRAR devuelve #¡CALC!?
Ninguna fila cumplió la condición y no diste un valor si_vacío. Agrega un tercer argumento, por ejemplo =FILTRAR(rango; condición; "Ninguna"), y se mostrará ese texto en lugar del error.
¿FILTRAR funciona en Excel 2019?
No. FILTRAR es una función de matriz dinámica introducida con Microsoft 365 y Excel 2021. En Excel 2019 o anterior, usa una fórmula matricial con INDICE y K.ESIMO.MENOR, o bien el autofiltro.
¿Puedo ordenar el resultado filtrado?
Sí. Envuelve FILTRAR en ORDENAR: =ORDENAR(FILTRAR(A2:C100; B2:B100="Este"); 3; -1) filtra por la región Este y luego ordena por la tercera columna de forma descendente.