0Pricing
Excel Formulas Academy · Lección

Filtrado de datos con FILTER

Devuelva dinámicamente solo las filas que cumplan sus condiciones

Filtrado de datos con FILTER es una lección gratuita de Excel Formulas Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Excel Formulas Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Excel Formulas Academy incluye 4 lecciones en total.

Qué hace FILTER

The FILTER function returns only the rows of a range that meet a condition you set. Instead of manually hiding rows or copying matches, FILTER spills the matching rows automatically.

It is dynamic: when your data changes, the filtered output updates instantly. This makes it perfect for live reports that always show the current matches.

La sintaxis de FILTER

FILTER acepta hasta tres argumentos:

=FILTER(array, include, [if_empty])

  • array es el rango que desea devolver.
  • include es una prueba lógica que produce TRUE o FALSE para cada fila.
  • if_empty es un valor opcional que se muestra cuando no hay coincidencias.

La prueba include debe tener la misma altura que array para que cada fila reciba un valor TRUE o FALSE.

=FILTER(array, include, [if_empty])

Un FILTER sencillo

Suponga que A2:A10 contiene nombres de vendedores y B2:B10 contiene su región. Para mostrar solo los nombres de la región East:

=FILTER(A2:A10, B2:B10="East")

La prueba B2:B10="East" produce una columna de valores TRUE y FALSE. FILTER conserva las filas cuyo resultado es TRUE y las desborda.

=FILTER(A2:A10, B2:B10="East")

Devolver varias columnas

El array puede tener más de una columna. Para devolver tanto el nombre como el importe de ventas de la región East, indique el bloque completo como array:

=FILTER(A2:C10, B2:B10="East")

FILTER devuelve todas las columnas de las filas coincidentes y las desborda como una tabla pequeña. La prueba include sigue evaluando solo la columna de la condición.

=FILTER(A2:C10, B2:B10="East")

Condiciones numéricas

Las condiciones no se limitan al texto. Para devolver todas las filas cuyas ventas en C2:C10 superen 500:

=FILTER(A2:C10, C2:C10>500)

Los operadores de comparación, como mayor que, menor que y distinto de, funcionan dentro del argumento include, igual que en una prueba lógica normal.

=FILTER(A2:C10, C2:C10>500)

Combinar condiciones con lógica AND

Para exigir dos condiciones a la vez, multiplique las pruebas. La multiplicación funciona como AND porque TRUE es 1 y FALSE es 0; por tanto, una fila solo pasa cuando ambas pruebas son 1.

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

Esto devuelve las filas de la región East cuyas ventas también superan 500. Incluya cada prueba entre paréntesis.

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

Combinar condiciones con lógica OR

Para que una fila pase cuando cualquiera de las condiciones sea verdadera, sume las pruebas. La suma funciona como OR porque el resultado es al menos 1 cuando alguna prueba es TRUE.

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

Esto devuelve las filas de las regiones East o West. Se conservan las filas cuyo resultado sea 1 o 2; las que tengan un resultado de 0 se descartan.

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

Gestionar la ausencia de coincidencias

Si ninguna fila cumple la condición, FILTER devuelve de forma predeterminada el error #CALC!. El tercer argumento opcional evita este comportamiento al mostrar un mensaje descriptivo:

=FILTER(A2:C10, B2:B10="South", "No matches found")

Si no existe la región South, la celda muestra el texto en lugar de un error. En los informes reales, añada siempre un valor if_empty.

=FILTER(A2:C10, B2:B10="South", "No matches found")

Filtrar por el valor de una celda

Para crear un informe interactivo, compare con una celda en lugar de usar un valor fijo. Si E1 contiene la región que elige el usuario:

=FILTER(A2:C10, B2:B10=E1, "No matches")

Cambie E1 a West y la lista desbordada se actualizará al instante con las filas de West. Esta es la base de un dashboard controlado mediante una lista desplegable.

=FILTER(A2:C10, B2:B10=E1, "No matches")

Ordenar los resultados filtrados

FILTER devuelve las coincidencias en su orden original. Para ordenarlas, incluya FILTER dentro de SORT. Para mostrar las filas de la región East ordenadas por ventas de forma descendente:

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

SORT ordena la tabla desbordada por su tercera columna; -1 indica un orden descendente. Combinar funciones de desbordamiento de esta forma es habitual y muy eficaz.

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

FILTER en Google Sheets

FILTER funciona tanto en Excel 365 como en Google Sheets, con una sintaxis prácticamente idéntica. En Google Sheets puede pasar varias condiciones como argumentos independientes en lugar de multiplicarlas:

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

Sheets trata cada argumento adicional como una condición AND. En Excel, debe usar el enfoque de multiplicar para AND y sumar para OR dentro del único argumento include.

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

Comprobación rápida

Compruebe cuánto ha entendido de FILTER.

Repaso: filtrar con FILTER

Ha aprendido a devolver solo las filas coincidentes con FILTER:

  • La sintaxis es =FILTER(array, include, [if_empty]).
  • La prueba include debe tener la misma altura que array.
  • Multiplique las pruebas para AND y súmelas para OR.
  • Añada un mensaje if_empty para evitar errores #CALC!.
  • Incluya FILTER dentro de SORT para ordenar los resultados.

A continuación, extraerá una lista de valores distintos con UNIQUE.

Preguntas frecuentes

¿La lección «Filtrado de datos con FILTER» es gratis?

Sí — el texto completo de «Filtrado de datos con FILTER» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Excel Formulas Academy, actualiza a CoddyKit PRO. El curso de Excel Formulas Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Filtrado de datos con FILTER»?

Devuelva dinámicamente solo las filas que cumplan sus condiciones Practicas Excel Formulas Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Excel Formulas Academy?

No se requiere experiencia previa. Excel Formulas Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Filtrado de datos con FILTER»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Excel Formulas Academy?

Sí. Cada lección de Excel Formulas Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué significa el desbordamiento
  2. Filtrado de datos con FILTER
  3. Eliminación de duplicados con UNIQUE
  4. Cómo gestionar el error SPILL
← Volver a Excel Formulas Academy