Matrices dinámicas

Función FILTRAR en Excel: devolver todas las filas que coinciden

Devuelve todas las filas de un rango que cumplen tu condición, como un resultado vivo que se redimensiona solo.

FILTRAR es la función que por fin permite que una fórmula devuelva más de una respuesta. Todas las búsquedas anteriores —BUSCARV, INDICE+COINCIDIR, incluso BUSCARX— devuelven una sola coincidencia. FILTRAR las devuelve todas, derramándose por tantas filas como necesite y encogiéndose de nuevo cuando los datos cambian.

Le das un rango que filtrar y una condición que se evalúa como VERDADERO o FALSO en cada fila. El resultado aparece en la celda donde la escribiste y en las de abajo y al lado, con un borde azul. Esas celdas derramadas no se pueden editar por separado: el bloque entero pertenece a la fórmula y se actualiza solo cuando cambian los datos de origen.

Las condiciones se combinan aritméticamente en lugar de con Y y O: multiplícalas para Y, súmalas para O. Resulta extraño la primera vez, pero se deduce directamente de que VERDADERO vale 1 y FALSO vale 0.

Sintaxis

=FILTRAR(matriz; incluir; [si_vacío])

Argumentos

matriz
Obligatorio
El rango que se filtra. Puede ser una sola columna o la tabla entera: el resultado conserva el mismo número de columnas.
incluir
Obligatorio
Una condición que produce VERDADERO o FALSO en cada fila de matriz, como C2:C6="Vencida". Debe tener exactamente la misma altura que matriz.
si_vacío
Opcional
Qué devolver cuando no coincide nada. Sin este argumento, la ausencia de coincidencias produce un error #¡CALC!.

Los datos de ejemplo

Encabezados en la fila 1, datos en A2:D6.

ABCD
1RegiónProductoEstadoImporte
2NorteTaladroVencida1240
3SurAlargadorPagada385
4NorteGafasVencida2100
5SurGuantesPagada940
6NorteTaladroPagada156

Ejemplos resueltos

=FILTRAR(A2:D6; C2:C6="Vencida")

Resultado: Dos filas completas: Norte/Taladro/Vencida/1240 y Norte/Gafas/Vencida/2100

La tabla entera filtrada a las facturas vencidas. Entran cuatro columnas, salen cuatro columnas.

=FILTRAR(B2:B6; D2:D6>1000)

Resultado: Taladro, Gafas

Filtrar una columna por una condición sobre otra. Solo se derraman los nombres de producto.

=FILTRAR(A2:D6; (A2:A6="Norte")*(C2:C6="Pagada"))

Resultado: Una fila: Norte/Taladro/Pagada/156

Dos condiciones unidas con Y al multiplicarlas. VERDADERO*VERDADERO es 1; cualquier otra combinación es 0.

=FILTRAR(B2:B6; D2:D6>5000; "Ninguna")

Resultado: Ninguna

Nada supera 5000, así que el tercer argumento evita un error #¡CALC!.

Ahora practícala

Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.

Abrir el ejercicio: Muestra solo las facturas realmente vencidas

Errores habituales y cómo resolverlos

#¡DESBORDAMIENTO!

Por qué ocurre: Ya hay algo en las celdas que necesita el resultado. FILTRAR no puede sobrescribir contenido existente, así que se niega del todo en lugar de parcialmente.

Cómo resolverlo: Vacía las celdas de abajo y de la derecha de la fórmula. Al seleccionar la celda, Excel marca con un borde azul discontinuo la zona bloqueada.

#¡CALC!

Por qué ocurre: Nada cumplió la condición y no se indicó el argumento si_vacío.

Cómo resolverlo: Añade un tercer argumento: =FILTRAR(rango; condición; "Sin resultados").

#¡VALOR!

Por qué ocurre: La condición tiene una altura distinta a la de matriz, normalmente A2:A100 filtrado por una condición sobre B2:B50.

Cómo resolverlo: Haz que ambos tramos sean idénticos. Convertir el origen en Tabla y usar referencias estructuradas los mantiene sincronizados solos.

#¿NOMBRE?

Por qué ocurre: La versión de Excel no tiene FILTRAR.

Cómo resolverlo: FILTRAR necesita Microsoft 365 o Excel 2021+. En versiones anteriores hace falta un filtro avanzado, una tabla dinámica o columnas auxiliares.

Consejos que conviene saber

  • Multiplica condiciones para Y, súmalas para O: (a)*(b) significa ambas, (a)+(b) significa cualquiera.
  • Envuélvela en ORDENAR para ordenar los resultados: =ORDENAR(FILTRAR(...); 4; -1) ordena por la cuarta columna de forma descendente.
  • Refiérete a un rango derramado desde otro sitio con el sufijo #: F2# significa «lo que sea que haya derramado F2».
  • FILTRAR se recalcula en vivo, así que un informe construido sobre ella se actualiza en cuanto alguien añade una fila al origen.

Preguntas frecuentes

¿Qué diferencia hay entre FILTRAR y el filtro normal?

El filtro de la cinta oculta filas en su sitio y hay que volver a aplicarlo cuando cambian los datos. FILTRAR es una fórmula que produce un resultado vivo aparte, así que puedes construir una vista filtrada en otra hoja y dejar el original intacto. Además se actualiza sola.

¿Cómo filtro por dos condiciones?

Multiplícalas para Y: =FILTRAR(A2:D6; (A2:A6="Norte")*(D2:D6>1000)). Súmalas para O: (A2:A6="Norte")+(A2:A6="Sur"). Cada paréntesis debe ser una comparación de altura completa.

¿Por qué mi FILTRAR muestra #¡DESBORDAMIENTO!?

Hay datos en medio. El resultado necesita un bloque de celdas libre donde expandirse, y cualquier cosa que ya esté allí, incluso un espacio suelto, lo bloquea. Selecciona la celda de la fórmula y Excel marcará exactamente qué celdas estorban.

Funciones relacionadas

Guías que la usan

Lecturas más largas donde esta función hace trabajo real en una hoja real.