function

FILTRAR

Todo sobre la función FILTRAR en Excel

La función FILTRAR en Excel permite filtrar un rango de datos basándose en los criterios que se especifiquen. Es una de las funciones de matrices dinámicas, lo que significa que puede devolver una matriz de valores que se desborda automáticamente en las celdas adyacentes a la celda donde se introduce la fórmula.

Sintaxis

=FILTRAR(array, include, [if_empty])

La función FILTRAR tiene los siguientes argumentos:

  • array Es el rango o matriz de celdas que se desea filtrar. Obligatorio.
  • include Es una matriz booleana (compuesta por valores VERDADERO y FALSO) que se utiliza como criterio de filtrado. Esta matriz debe tener la misma altura o anchura que el argumento array. Obligatorio.
  • if_empty Es el valor que se devolverá si el filtro no encuentra ningún resultado. Opcional.

Ejemplos

Para los siguientes ejemplos, usaremos la siguiente tabla de datos de ventas:

A B C D
1 Vendedor Región Producto Ventas
2 Ana Norte Monitor 1500
3 Luis Sur Teclado 800
4 Carla Norte Ratón 450
5 David Este Monitor 2200
6 Elena Norte Teclado 950
7 Marco Oeste Ratón 300

Ejemplo 1: Filtrado simple

Para obtener una lista de todos los registros de la región «Norte».

=FILTRAR(A2:D7, B2:B7="Norte", "No hay resultados")

Resultado: La fórmula devolverá una matriz con los datos de Ana, Carla y Elena, ya que todas pertenecen a la región «Norte».

Ejemplo 2: Filtrado con múltiples criterios (condición Y)

Para obtener los registros de la región «Norte» cuyas ventas superen los 1000€. Se multiplican las condiciones para crear una lógica «Y».

=FILTRAR(A2:D7, (B2:B7="Norte") * (D2:D7>1000), "No hay resultados")

Resultado: La fórmula devolverá únicamente la fila de Ana, ya que es la única que cumple ambas condiciones (Región Norte y Ventas > 1000).

Ejemplo 3: Filtrado con múltiples criterios (condición O)

Para obtener los registros que sean del producto «Monitor» o del producto «Teclado». Se suman las condiciones para crear una lógica «O».

=FILTRAR(A2:D7, (C2:C7="Monitor") + (C2:C7="Teclado"), "No hay resultados")

Resultado: Devolverá las filas correspondientes a Ana, Luis, David y Elena.

Ejemplo 4: Uso anidado con la función ORDENAR

Se puede anidar la función FILTRAR dentro de ORDENAR para obtener un resultado filtrado y ordenado. En este caso, filtramos por la región «Norte» y ordenamos los resultados por ventas (columna 4) de forma descendente.

=ORDENAR(FILTRAR(A2:D7, B2:B7="Norte"), 4, -1)

Resultado: Devolverá los datos de Ana, Elena y Carla, en ese orden, ya que están ordenados por ventas de mayor a menor.

Observaciones

Al ser una función de matriz dinámica, los resultados de FILTRAR se «desbordan» automáticamente. Si no hay suficientes celdas vacías para mostrar todos los resultados, Excel devolverá un error #¡DESBORDAMIENTO!. Asegúrate de que haya espacio suficiente debajo y a la derecha de la celda donde introduces la fórmula.

Errores comunes

  • #¡CALC! Ocurre cuando el filtro no devuelve ningún resultado y no se ha proporcionado el argumento opcional [if_empty].
  • #¡VALOR! Ocurre si el argumento include no es una matriz booleana o si sus dimensiones no son compatibles con el array.
  • #¡DESBORDAMIENTO! Ocurre si el rango de celdas donde se deben mostrar los resultados no está vacío.

Disponibilidad por versión de Excel

La función FILTRAR está disponible en Microsoft 365, Excel 2021, Excel para la web y Excel para dispositivos móviles. No está disponible en versiones anteriores como Excel 2019, 2016, etc.

Compatibilidad

Software Compatibilidad Notas
Microsoft Excel ✔️ Disponible en versiones recientes (Microsoft 365, Excel 2021 y posteriores).
Google Sheets ✔️ La sintaxis y el funcionamiento son prácticamente idénticos.
LibreOffice Calc ✔️ Disponible a partir de la versión 7.0.
OpenOffice Calc No disponible.
WPS Office Spreadsheets ✔️ Compatible.
Apple Numbers ✔️ La función FILTER es compatible y funciona de manera similar.

Funciones Relacionadas

  • UNICOS Extrae una lista de valores únicos de un rango o matriz.
  • ORDENAR Ordena el contenido de un rango o matriz.
  • SECUENCIA Genera una lista de números secuenciales en una matriz.
  • BUSCARX Una función de búsqueda moderna y flexible que puede devolver matrices, siendo una alternativa a FILTRAR para casos de búsqueda simple.

Ver también...