Función FILTRAR

Por el equipo editorial de LogicExcelActualizado en junio de 20263 min de lectura547 palabrasPractica esto

Try this now

FILTER returns only the rows that match. The second argument is a condition, not a value - it has to say B2:B6="East", not just "East". Spill the East-region names with =FILTER(A2:A6,B2:B6="East").
ABCDE
1NameRegionSalesEast names
2LeeEast800
3PatelWest420
4ChenEast610
5OrtizNorth150
6KimWest900
E2fx

Continue the full lesson →

¿Listo para practicar?

Pon en práctica lo que acabas de aprender con ejercicios interactivos.

Iniciar lección 88

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.

Practica Función FILTRAR →

Sigue adelante

Te indica qué leer a continuación.