El FILTRO de Google Sheets es una función que te ayuda a filtrar y devolver las filas de un intervalo que cumplen los criterios que indiques. También puedes añadir varios criterios en distintas columnas. Esta función genera un nuevo conjunto de datos y deja intactos los datos originales.
¿Buscas el botón de filtro o las vistas de filtro en lugar de una fórmula? Mira cómo filtrar Google Sheets sin afectar a otros usuarios.
Si no encuentra la información que busca en este post, puede consultar Más de 100 funciones y fórmulas para Google Sheets y Excel Básico.
¿Trabajas en Excel? La función FILTER de Excel sigue la misma lógica y añade un argumento opcional para indicar qué mostrar cuando no hay coincidencias.
¿Cuál es la sintaxis de la función de filtro?
Esta es la estructura básica de la función de filtro:
- range - una referencia al rango de celdas que filtra la función.
- condición1 - una matriz, fila o columna de longitud o anchura igual a la de la primera fila o columna correspondiente de range respectivamente. Contiene valores evaluados TRUE o FALSE.
- condición2 ... - arrays opcionales y adicionales, filas o columnas que contienen valores TRUE o FALSE evaluados para especificar si la fila o columna correspondiente dentro del range debe tenerse en cuenta en el proceso de filtrado.
Tenga en cuenta que no puede utilizar condiciones de filas y columnas en la misma función. Todas las condiciones deben ser columnas o filas, y la función FILTRO no permite mezclarlas.
Cómo utilizar la función FILTRO
A continuación se muestran los datos de muestra sobre los que probaré varias combinaciones de la función FILTRO para demostrar su comportamiento.
Caso 1: FILTRO con una condición
En este primer ejemplo de FILTER en Google Sheets, usaré una sola condición para ver cómo funciona. Esta es la fórmula que usaré:
=FILTRO(A2:D10,A2:A10="Verduras")
La condición para filtrar la primera columna es “Verduras”. Por lo tanto, la función FILTRAR recupera todas las filas en las que la primera columna tiene el valor “Verduras”.
He colocado la función en la celda F1 y, en consecuencia, los datos devueltos fluyen desde F1 hacia la derecha y más abajo. El número de columnas de la función coincide con el del rango de entrada. Sin embargo, el número de filas puede variar en función de las condiciones del filtro.
Por lo tanto, es muy importante mantener las celdas libres de datos donde se espera que los datos fluyan. ¡De lo contrario, la función devuelve un #REF! como se muestra en la siguiente captura de pantalla.
Caso 2: Filtro con dos condiciones
Añadamos una condición de filtro más y veamos qué ocurre.
=FILTER(A2:D10,A2:A10="Vegetables",C2:C10>20)
Básicamente, he pedido a Google Sheets que muestre las filas que pertenecen a la categoría “Verduras” y cuya energía es superior a 20 Kcal, ¡y la función FILTRO me ha obligado!
Caso 3: FILTRO de Google Sheets, condiciones múltiples
Añadiré una condición más y veré el resultado.
=FILTER(A2:D10,A2:A10="Vegetables",C2:C10>20,D2:D10<0.3)
Y funciona a las mil maravillas.
Caso 4: Filtro con condición “o
Hasta ahora todos los ejemplos han utilizado condiciones “y”, es decir, los datos tienen que cumplir todas las condiciones especificadas para que pasen el filtro.
Sin embargo, existe otra opción: puede utilizar condiciones “o” que funcionarán para los datos que cumplan cualquiera de las múltiples condiciones. El ejemplo siguiente lo demuestra.
=FILTER(A2:D10,(A2:A10="Verduras")+(D2:D10<0,3))
Como puede ver, el filtro aquí es encontrar cualquier artículo que sea una verdura O tenga menos de 0,3 g de grasa. Dado que sólo debe cumplirse una condición, se incluyen tanto la manzana como el brócoli, aunque la manzana no sea una verdura y el brócoli tenga más de 0,3 g de grasa.
Para utilizar una condición OR, basta con poner las condiciones entre paréntesis y sumarlas con un signo más, en lugar de separarlas por una coma.
Caso 5: Valores más altos
Otra forma útil de utilizar la función FILTRO es encontrar los primeros elementos de cualquier categoría.
En el ejemplo siguiente, he filtrado los datos para encontrar los tres alimentos con mayor cantidad de calorías.
=FILTER(A2:D10,(C2:C10>=LARGE(C2:C10,3)))
Esto se consigue utilizando la función FILTRO en combinación con la función GRANDE, que identifica los números más grandes de un conjunto de datos.
He utilizado la función LARGE para identificar los tres números de calorías más grandes y, a continuación, he filtrado los datos en función de ellos. Puede utilizar este método para filtrar cualquier número de los valores más grandes o más pequeños.
Caso 6: Clasificación de resultados filtrados
En el ejemplo anterior, encontré los 3 alimentos con más calorías. Pero como has podido ver, los resultados no se mostraban ordenados de mayor a menor densidad calórica.
Para ordenar los resultados de la función FILTRO, puede combinarla con la función ORDENAR.
=SORT(FILTER(A2:D10,(C2:C10>=LARGE(C2:C10,3))),3,FALSE)
Todo lo que he hecho aquí es añadir la función SORT delante de la función FILTER, y luego decirle a la función SORT que ordene basándose en la columna 3 en orden descendente (indicando False).
Caso 7: ¿Y si no hay ninguna coincidencia?
Por supuesto, si no se obtiene ninguna coincidencia se genera un error. Esto es lo que parece.
Caso 8: Incumplimiento de las normas
Ya sabes que no puedes introducir condiciones de tipo fila y columna dentro de una misma función FILTRO. Lo intentaré de todas formas a ver qué me dice Google Sheets.
Cómo filtrar con varias condiciones en Google Sheets
Los casos 2 a 4 muestran las dos formas de combinar condiciones en la función FILTER de Sheets. Separa las condiciones con comas cuando una fila tenga que cumplirlas todas (lógica Y). Pon cada condición entre paréntesis y súmalas con un signo más cuando baste con cumplir una de ellas (lógica O).
Los ejemplos de abajo usan una tabla de ventas en A2:H1001, con el importe en la columna F, el agente de ventas en la columna G y la fecha de la venta en la columna H.
Filtrar por un intervalo de fechas
1. En una celda vacía, escribe la función FILTER y selecciona el intervalo.
2. Añade la condición – la columna H debe estar entre el 1 y el 30 de junio de 2022 – y cierra el paréntesis. Escribe la función ISBETWEEN y usa la columna de fechas como primer parámetro.
3. Como segundo argumento, usa la función DATE (FECHA) para indicar la fecha de inicio: 2022, 6, 1. Como tercer argumento, haz lo mismo con la fecha de fin: 2022, 6, 30.
4. Omite el tercer y el cuarto parámetro para que el filtro incluya las fechas de inicio y de fin. Cierra los paréntesis y pulsa 'Intro' para ver los resultados.
La fórmula final es =FILTER(A2:H1001,ISBETWEEN(H2:H1001,DATE(2022,6,1),DATE(2022,6,30))) y devuelve todas las ventas con fecha de junio de 2022. Para ver más formas de crear fechas dentro de una fórmula, consulta cómo usar la función DATE en Google Sheets.
Lógica Y: cumplir todas las condiciones
1. Escribe la función FILTER y selecciona el intervalo.
2. Añade la primera condición: los valores de la columna G deben ser iguales a "Agent1".
3. Añade la segunda condición: los valores de la columna H deben ser iguales o posteriores al 15 de marzo de 2022. Usa la función DATE para la fecha, como en DATE(2022,3,15). Si escribes 3/15/2022 directamente en la fórmula, Sheets lo interpreta como 3 dividido entre 15 dividido entre 2022, así que todas las fechas cumplen la condición.
4. Cierra el paréntesis y pulsa 'Intro' para ver los resultados. La fórmula final es =FILTER(A2:H1001,G2:G1001="Agent1",H2:H1001>=DATE(2022,3,15)) y solo devuelve las ventas de Agent1 a partir del 15 de marzo de 2022.
Puedes escribir el mismo filtro Y con un asterisco en lugar de una coma: =FILTER(A2:H1001,(G2:G1001="Agent1")*(H2:H1001>=DATE(2022,3,15))). Cada condición devuelve TRUE o FALSE, y al multiplicarlas solo se mantienen las filas en las que ambas son TRUE.
Lógica O: cumplir cualquier condición
Para quedarte con las filas que cumplen al menos una condición, pon cada condición entre paréntesis y súmalas con un signo más, como en el caso 4. Esta fórmula devuelve todas las ventas de Agent1 o Agent3:
=FILTER(A2:H1001,(G2:G1001="Agent1")+(G2:G1001="Agent3"))
Cada condición devuelve 1 si es TRUE y 0 si es FALSE, así que una fila pasa el filtro cuando la suma es 1 o más. Puedes combinar los dos tipos de lógica en una misma fórmula. Esta devuelve las ventas de 1000 $ o más de cualquiera de los dos agentes:
=FILTER(A2:H1001,((G2:G1001="Agent1")+(G2:G1001="Agent3"))*(F2:F1001>=1000))
¿No funciona el FILTRO de Google Sheets?
Vamos a repasar una breve lista de comprobación para ayudarle a solucionar los problemas más comunes con la función de filtro:
- Compruebe la sintaxis de su función de filtro. Asegúrese de que ha especificado correctamente el intervalo de datos que desea filtrar y de que las condiciones o criterios están definidos con precisión.
- Compruebe que el intervalo de datos es correcto y señala las filas y columnas previstas.
- Asegúrese de que no haya filas o columnas ocultas dentro de su rango de datos, esto puede afectar al resultado de la función de filtro.
- Examinar los criterios de filtrado que ha establecido para filtrar sus datos.
Si esto no funciona, AI podría ser la respuesta. Para una gran ayuda para solucionar problemas de funciones de hoja de cálculo echa un vistazo a 15 increíbles mensajes de Chat GPT para usuarios de hojas de cálculo.
¡Ya eres oficialmente un constructor de FILTROS!
Así es como se empieza a utilizar la función FILTRO de Google Sheets. ¿Buscas más tutoriales y consejos sobre hojas de cálculo? Echa un vistazo a nuestras otras publicaciones.
La función UNIQUE de Google Sheets también puede serte de gran ayuda. Compruébalo en nuestra entrada del blog: Cómo utilizar la función UNIQUE en Google Sheets.



