La función FILTER en Excel
FILTRAR (Inglés: FILTER) devuelve cada fila que cumple una condición, como una lista dinámica: todos los pedidos del Norte, todas las facturas abiertas, todos los productos por debajo de su punto de reposición. Si cambias los datos, la lista se actualiza sola.
El resultado se desborda: escribes una fórmula y los valores que coinciden llenan las celdas situadas debajo. FILTRAR (Inglés: FILTER) está disponible en Excel 2021, Excel 2024 y Microsoft 365.
Sintaxis
=FILTER(array, include, [if_empty])
| Argumento | Qué significa |
|---|---|
| array | El rango del que devolver valores: una columna o varias. |
| include | La condición, escrita sobre un rango de la misma altura, por ejemplo B2:B6="Norte". |
| if_emptyopcional | Lo que se muestra cuando nada coincide, en lugar de #¡CALC!. |
Ejemplos
1. Todos los pedidos de una región
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Pedido | Región | Importe | Estado | Pedidos del Norte | |
| 2 | 1001 | Norte | 250 | Pagado | 1001 | |
| 3 | 1002 | Sur | 90 | Pagado | 1003 | |
| 4 | 1003 | Norte | 420 | Abierto | 1005 | |
| 5 | 1004 | Este | 130 | Pagado | ||
| 6 | 1005 | Norte | 75 | Pagado |
Una fórmula en F2; las otras dos coincidencias se desbordan a F3 y F4.
2. Dos condiciones: multiplicarlas
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Pedido | Región | Importe | Estado | Norte, pagados | |
| 2 | 1001 | Norte | 250 | Pagado | 1001 | |
| 3 | 1002 | Sur | 90 | Pagado | 1005 | |
| 4 | 1003 | Norte | 420 | Abierto | ||
| 5 | 1004 | Este | 130 | Pagado | ||
| 6 | 1005 | Norte | 75 | Pagado |
Cada condición da VERDADERO o FALSO por fila; multiplicarlas significa «ambas». El pedido 1003 es del Norte pero está abierto, así que queda fuera. Para «una o la otra», súmalas con + en su lugar.
3. Cuando nada coincide
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Pedido | Región | Importe | Estado | Pedidos del Oeste | |
| 2 | 1001 | Norte | 250 | Pagado | Ninguno | |
| 3 | 1002 | Sur | 90 | Pagado | ||
| 4 | 1003 | Norte | 420 | Abierto | ||
| 5 | 1004 | Este | 130 | Pagado | ||
| 6 | 1005 | Norte | 75 | Pagado |
No hay pedidos del Oeste. Sin el tercer argumento, el resultado sería #¡CALC!.
Errores comunes
Error #¡DESBORDAMIENTO! Algo bloquea las celdas que el resultado necesita para llenarse.
Corrección: Borra las celdas situadas debajo y a la derecha de la fórmula.
Usar AND() o OR() en la condición. Combinan rangos enteros en un único VERDADERO o FALSO.
Corrección: Multiplica las condiciones para «y», y súmalas para «o».
Error #¡VALOR!. El rango de la condición tiene distinta altura que la matriz.
Corrección: Haz que ambos cubran las mismas filas, por ejemplo A2:A6 y B2:B6.
Preguntas frecuentes
¿FILTER puede devolver filas completas?
Sí. Dale varias columnas, por ejemplo =FILTRAR(A2:D6;B2:B6="Norte"), y el resultado se desborda a lo ancho y hacia abajo.
¿Cómo ordeno la lista filtrada?
Envuélvela en ORDENAR (Inglés: SORT): =ORDENAR(FILTRAR(C2:C6;B2:B6="Norte");1;-1).
Funciones relacionadas
- SORTSORT devuelve una copia ordenada de un rango que se actualiza al cambiar los datos, ascendente o descendente, por cualquier columna.
- UNIQUEUNIQUE devuelve cada valor de una lista una sola vez, eliminando duplicados con una fórmula que se actualiza sola.
- XLOOKUPXLOOKUP busca en una columna o fila y devuelve el valor coincidente de otra, en cualquier dirección, con un mensaje de «no encontrado» integrado.
- SUMIFSSUMIFS suma los valores que cumplen varias condiciones a la vez, como los pedidos pagados de una región.