Cómo utilizar la función FILTRO en las hojas de cálculo de Google (ejemplos)

Las Hojas de cálculo de Google tienen algunas funciones estupendas que pueden ayudar a rebanar y cortar los datos fácilmente. Aunque existe una función de filtro incorporada en Google Sheets, también tiene a su disposición la función FILTRO.

La función FILTRO , como su nombre indica, le permitirá filtrar un conjunto de datos basándose en una condición (o en varias).

Por ejemplo, si tiene una lista de nombres con los nombres de sus estados y el valor de las ventas, puede utilizar la función FILTRO en las Hojas de cálculo de Google para obtener rápidamente todos los registros de un estado específico (como se muestra a continuación).

Una de las ventajas de utilizar la función FILTRO en lugar de la función de filtro normal de Google Sheets es que los resultados de la función FILTRO son dinámicos. En caso de que cambie algo en los datos originales, los datos filtrados resultantes se actualizarán automáticamente.

Esto hace que la función FILTRO de las Hojas de cálculo de Google sea una gran opción a la hora de crear informes o cuadros de mando interactivos.

En este tutorial, le mostraré cómo funciona la función FILTRO en Google Sheets y también cubriré algunos ejemplos útiles para utilizarla en el trabajo diario.

Así que vamos a empezar por conocer la sintaxis de esta función.

Sintaxis de la función de filtro de Google Sheets

A continuación se muestra la sintaxis de la función FILTRO:

FILTRO(rango, condición1, [condición2, …]):

  • range : Es el rango de celdas que se quiere filtrar.
  • condition1 : Esta es la fila de columnas (correspondiente a la fila de columnas del conjunto de datos), que devuelve una matriz de TRUEsFALSES. Tiene que ser del mismo tamaño que el del rango
  • [condición2] : Este es un argumento opcional y puede ser la segunda condición que se comprueba en la fórmula. Esto también puede ser una fila de columnas (correspondiente a la fila de columnas del conjunto de datos), que devuelve una matriz de TRUEsFALSES. Este debe ser del mismo tamaño que el del rango.

Cuando se utilizan condiciones múltiples, se filtran aquellos resultados que devuelven verdadero para ambas condiciones.

En caso de que la función FILTRO no encuentre ningún resultado que coincida con la condición, devolvería un error NA.

Si se pregunta cómo funciona esto, repase un par de ejemplos (enumerados a continuación) y le quedará claro cómo utilizar la función FILTRO en Google Sheets.

Ejemplo 1 – Filtrado de datos basado en una sola condición

Supongamos que tiene el conjunto de datos que se muestra a continuación y desea filtrar rápidamente todos los registros en los que el nombre del estado es Florida.

La fórmula siguiente lo hará:

=FILTER(A2:C11,B2:B11="Florida")

La fórmula anterior toma el rango de datos como argumento y la condición es B2_B11="Florida". Esta condición comprueba cada celda del rango B2:B11 y si el valor es igual a Florida, ese registro se filtra, si no, no.

En este ejemplo, he codificado el valor, pero también puede tener este valor en una celda y luego hacer referencia a esta celda. Por ejemplo, si tiene el texto Florida en la celda H1, también puede utilizar la siguiente fórmula:

=FILTRO(A2:C11,B2:B11=H1)

Algunas cosas que hay que saber sobre la función FILTRO.

La función FILTRO en las Hojas de cálculo de Google devuelve una matriz de valores que se extienden por las celdas adyacentes (esto se llama una matriz dinámica). Para que esto funcione, debe asegurarse de que las celdas adyacentes (donde se colocarían los resultados) deben estar vacías.

¡

Si alguna de las celdas no está vacía, su fórmula devolverá un error REF! Google Sheets también le indica por qué está dando un error mostrando un triángulo rojo en la parte superior derecha de la celda y, al pasar el ratón por encima, mostrará un mensaje:

El resultado de la matriz no se expandió porque sobrescribiría los datos en F3

Y en cuanto elimine la celda rellenada que impide a la función FILTRO dar el resultado, rellenará automáticamente el rango con el resultado.

Además, el resultado de la fórmula FILTRO es una matriz y puede cambiar una parte de la matriz. Esto significa que no puede cambiar o borrar una celda (o un par de celdas) del resultado. Tendrá que borrar todo el resultado de la fórmula. Para borrar el resultado, puede seleccionar la celda en la que introdujo la fórmula y luego pulsar la tecla de borrar.

Ejemplo 2 - Filtrar datos basándose en múltiples condiciones (condición AND)

También puede utilizar la función FILTRO para comprobar múltiples condiciones de forma que sólo devuelva aquellos registros en los que se cumplan ambas condiciones.

Por ejemplo, suponga que tiene el siguiente conjunto de datos y quiere filtrar todos los registros en los que el estado es Florida y el valor de la venta es superior a 5000.

Puede hacerlo con la siguiente fórmula;

=FILTER(A2:C11,B2:B11="Florida",C2:C11>5000)

La fórmula anterior comprueba dos condiciones (que el estado sea Florida y que el valor de la venta sea superior a 5000) y devuelve todos los registros que cumplen estos criterios.

Del mismo modo, si lo desea, puede tener varias condiciones en la misma fórmula de FILTRO.

Ejemplo 3 - Filtrar registros en base a múltiples condiciones (condición OR)

En el ejemplo anterior, he comprobado dos condiciones y devuelvo los resultados donde ambas condiciones son TRUE.

También puede comprobar la condición O en la fórmula FILTRO.

Por ejemplo, suponga que tiene el conjunto de datos que se muestra a continuación y quiere obtener todos los registros de California y Iowa. Esto significa que la condición debe ser que el estado sea California o Iowa (lo que hace que sea una condición OR).

La siguiente fórmula lo hará:

=FILTER(A2:C11,(B2:B11="California")+ (B2:B11="Iowa"))

La fórmula anterior utiliza el operador de suma en la condición para comprobar primero las dos condiciones y luego sumar el resultado de cada una. Como estas condiciones devuelven una matriz o TRUEs y FALSEs, puede sumarlas (ya que un TRUE es 1 y un FALSE es 0 en Google Sheets).

Esto le dará 0 (o FALSO) cuando no se cumplan las dos condiciones, 1 cuando se cumpla una de las dos condiciones y 2 cuando se cumplan las dos.

Y entonces la fórmula FILTRO devolverá todos los registros en los que las condiciones devuelvan un valor superior a 0.

Ejemplo 4 - Filtrar los 3 o 5 primeros registros en función del valor

También puede utilizar la función FILTRO para obtener rápidamente los 3 primeros o los 5 primeros (o cualquier número de registros superior e inferior que elija).

Por ejemplo, supongamos que tengo el conjunto de datos que se muestra a continuación y quiero obtener rápidamente los registros de los 3 primeros valores de ventas.

La siguiente fórmula lo hará:

=FILTER(A2:C11,C2:C11>=LARGE(C2:C11,3))

La fórmula anterior utiliza la función LARGE para obtener el tercer valor más grande del conjunto de datos. Este valor se utiliza entonces en la condición para comprobar si los valores de la columna C son mayores o iguales a este valor o no.

Esto devolvería todos los registros que coinciden con los criterios, que serían los tres primeros registros.

En caso de que quiera obtener los tres registros inferiores, puede utilizar la fórmula FILTRO siguiente:

=FILTRO(A2:C11,C2:C11<=Small(C2:C11,3))

Ejemplo 5 - CLASIFICAR los datos filtrados (utilizando una combinación de FILTRO y CLASIFICACIÓN)

Hasta ahora, todos los ejemplos de fórmulas FILTRO que hemos visto filtrarían los datos en el mismo orden en el que aparecen en el conjunto de datos.

Pero ¿qué ocurre si quiere obtener el conjunto de datos ordenado?

Por ejemplo, supongamos que está filtrando los 5 registros más importantes, sería más útil tenerlos ordenados de forma descendente (el más grande en la parte superior).

A continuación se muestra la fórmula que filtrará los datos y los mostrará en orden descendente:

=SORT(FILTRO(A2:C11,C2:C11>=LARGE(C2:C11,3)),3,FALSE)

La fórmula anterior utiliza la misma fórmula de FILTRO que utilizamos en el ejemplo anterior para obtener los tres primeros registros en función del valor de las ventas.

Y como quería que el resultado final estuviera ordenado de forma descendente, he envuelto la función FILTER dentro de la función SORT. La función SORT utiliza el resultado dado por la fórmula FILTRO y lo ordena basándose en la tercera columna (que tiene el valor de las ventas).

El tercer argumento de la función SORT es FALSE, que es para especificar que quiero el resultado final en orden descendente. En caso de dejarlo en blanco (o hacerlo TRUE), el resultado será en orden ascendente.

Ejemplo 6 - Filtrar todos los registros de números pares (o registros de números impares)

Este no es un caso de uso tan común, pero es algo que he tenido que hacer cuando obtengo mis datos de otra persona o de una base de datos o páginas web.

Muchas veces, los datos que necesita sólo estarán en filas alternas (o cada tres o cuatro filas), y tendría la necesidad de deshacerse de las filas extra para poder obtener todos los datos útiles juntos.

En tal caso, puede utilizar la función FILTRO para filtrar rápidamente y obtener todas las filas pares juntas (o todas las filas impares juntas). Y también puede modificar la fórmula para filtrar cada tercera, cuarta o enésima fila en Google Sheets.

Supongamos que tiene un conjunto de datos como el que se muestra a continuación y quiere filtrar todas las filas pares de este conjunto de datos.

A continuación se muestra la fórmula que filtrará todas las filas pares:

=FILTRO(A2:C11,MOD(FILA(A2:A11)-1,2)=0)

La fórmula anterior utiliza la función ROW para obtener los números de fila de todas las filas del conjunto de datos. Luego le resta 1, ya que nuestro conjunto de datos comienza a partir de la segunda fila.

Ahora, utiliza la función MOD para comprobar la siguiente condición - MOD(ROW(A2:A11)-1,2)=0)

Esto devolvería TRUE para todas las filas pares y FALSE para todas las filas impares. Y esta matriz de TRUE y FALSE es utilizada por la función FILTRO para extraer los registros.

Del mismo modo, si quiere sólo los registros con números impares, puede utilizar la siguiente fórmula:

=FILTER(A2:C11,MOD(ROW(A2:A11)-1,2)=1)

Y en caso de que quiera filtrar cada tercera fila, puede utilizar la siguiente fórmula en Google Sheets:

=FILTRO(A2:C11,MOD(fila(A2:A11)-1,3)=0)

Así que estos son algunos de los ejemplos en los que la función FILTRO en Google Sheets puede suponer un verdadero ahorro de tiempo. Y cuando se combina con otras fórmulas, se pueden hacer muchas cosas con ella.

Espero que haya encontrado útil este tutorial.

Deja un comentario