Tabla de contenido
Si la única forma que conoces de crear un filtro en Hojas de cálculo de Google es la herramienta estándar, tengo una sorpresa para ti. :) Ven a explorar la función FILTRO conmigo. Hay un montón de fórmulas ya preparadas que puedes tomar prestadas, junto con una nueva y potente herramienta que complementa enormemente el conjunto de herramientas de filtrado.
Hace algún tiempo explicamos cómo filtrar en Google Sheets usando la herramienta estándar. Mencionamos cómo filtrar por valor y por condición. Sin embargo, las hojas de cálculo siempre tienen más de lo que sabemos. Y esta vez voy a explorar la función FILTRO de Google Sheets contigo.
No lo encontrarás en Excel, así que merece la pena echarle un vistazo.
Sintaxis de la función FILTRO de Google Sheets
FILTRO en Google Sheets escanea tus datos y devuelve la información necesaria que cumpla tus criterios.
A diferencia del filtro estándar de Google Sheets, la función no hace nada con tus datos originales, sino que copia las filas encontradas y las coloca donde tú construyas la fórmula.
La sintaxis es bastante sencilla, ya que cada argumento habla por sí mismo:
=FILTRO(rango, condición1, [condición2, ...])- gama son los datos que desea filtrar. Obligatorio.
- condición1 es una columna o fila junto con los criterios TRUE/FALSE a los que debe pertenecer. Obligatorio.
- condición2,... etc., representan otras columnas/filas y/u otros criterios. Opcional.
Nota. condición debe ser del mismo tamaño que el gama .
Nota: Si utilizas varias condiciones, todas deben ser para columnas o filas. La función FILTRO de Google Sheets no permite condiciones mixtas.
Ahora, con estas notas en mente, veamos cómo toman forma los argumentos de las distintas fórmulas.
Cómo utilizar la función FILTRO en Google Sheets
Voy a mostrarte todos los ejemplos mientras filtro una pequeña tabla donde hago el seguimiento de algunos pedidos:
La tabla contiene 20 filas con varios tipos de datos, lo que es perfecto para aprender la función.
Cómo filtrar en Google Sheets por texto
Ejemplo 1. El texto es exactamente
En primer lugar, voy a pedir a la función que muestre sólo los pedidos que se retrasan. Introduzco el rango a filtrar - A1:E20 - y, a continuación, establezca la condición - columna E debe ser igual a Tarde :
=FILTER(A1:E20,E1:E20="Late")
Ejemplo 2. El texto no es exactamente
Puedo pedirle a la función que me consiga todos los pedidos menos los atrasados, para ello necesitaré un operador especial de comparación () que significa no igual a :
=FILTER(A1:E20,E1:E20"Late")
Ejemplo 3. El texto contiene
Ahora me gustaría mostrarle cómo construir la función FILTRO de Google Sheets basada en la coincidencia parcial. O en otras palabras - si el texto contiene .
¿Se ha dado cuenta de que los identificadores de pedido de la columna A contienen abreviaturas de países al final? Creemos una fórmula para recuperar sólo los pedidos enviados desde Canadá ( CA ).
Normalmente, se utilizarían caracteres comodín para esta tarea. Pero cuando se trata de la fórmula FILTRO, son las funciones BUSCAR y ENCONTRAR las que operan de este modo.
Sugerencia: si prefiere evitar el anidamiento de otras funciones al filtrar por simples apariciones de palabras, no dude en probar el complemento descrito al final.
Nota. Si el caso del texto es importante, utilice BUSCAR, de lo contrario, elija BUSCAR.
La función BUSCAR servirá perfectamente para mi ejemplo, ya que las mayúsculas y minúsculas del texto son irrelevantes:
=SEARCH(buscar_para, texto_a_buscar, [inicio_at])- buscar es el texto que quiero encontrar. Es muy importante ponerlo entre comillas dobles: "ca" . Requerido.
- buscar_texto es el rango para escanear el texto necesario. Requerido. Es A1:A20 para mí.
- inicio indica la posición de inicio de la búsqueda, es decir, el número del carácter a partir del cual hay que empezar a buscar. Es completamente opcional, pero necesito utilizarlo. Verás, todos los ID de pedido están formados por letras y números, lo que significa que un par de caracteres CA El patrón idéntico de todas las identificaciones me permite buscar CA a partir del 8º carácter.
Tras reunir todas estas piezas, obtengo el resultado deseado:
=FILTER(A1:E20,SEARCH("ca",A1:A20,8))
Cómo filtrar por fecha y hora en Google Sheets
El filtrado por fecha y hora también requiere el uso de funciones adicionales. Dependiendo de tus criterios, puede que necesites incrustar DÍA, MES, AÑO o incluso FECHA y HORA en la función FILTRO principal de Google Sheets.
Consejo: si no estás familiarizado con estas funciones o siempre te lías con las fechas, no te preocupes: la herramienta que se describe al final no requiere ninguna función.
Ejemplo 1. La fecha es
Para conocer los pedidos que vencen el 9 de enero de 2020, invitaré a la función FECHA:
=FILTER(A1:E20,C1:C20=DATE(2020,1,9))
Nota. Esto sólo funciona si tus celdas no contienen unidades de tiempo junto con la fecha (es posible que tu hoja de cálculo las añada por defecto). Para asegurarte, sólo tienes que seleccionar una celda y comprobar lo que aparece en la barra de fórmulas:
Si la hora está ahí y eliminarla no es una opción, debes utilizar QUERY o una condición más compleja en tu función FILTRO de Google Sheets, como ésta:
=FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20
Consejo: a continuación hablo con más detalle de las condiciones múltiples.
Ejemplo 2. La fecha contiene
Si sólo te interesa un mes o un año en concreto, puedes arreglártelas con las funciones MES y AÑO. Pon el intervalo con las fechas justo dentro ( C1:C20 ) y especifique el número del mes (o año) al que debe ser igual ( =1 ):
=FILTER(A1:E20,MONTH(C1:C20)=1)
Ejemplo 3. La fecha es antes/después
Para obtener los datos que caen antes o después de la fecha especificada, necesitará la función DATE y operadores de comparación como mayor que (>), mayor o igual que (>=), menor que (<), menor o igual que (<=).
Estos son los pedidos recibidos a partir del 1 de enero de 2020:
=FILTER(A1:E20,D1:D20>=DATE(2020,1,1))
Por supuesto, aquí puede sustituir fácilmente FECHA por MES o AÑO. El resultado no diferirá del anterior:
=FILTER(A1:E20,YEAR(D1:D20)>=2020)
Ejemplo 4. Tiempo
Al filtrar en Google Sheets por tiempo, el procedimiento es exactamente el mismo que con las fechas: se utiliza la función adicional TIME.
Por ejemplo, para obtener sólo los días con hora posterior a las 14:00, la fórmula será:
=FILTER(A1:B10,A1:A10>TIME(14,0,0))
Sin embargo, cuando se trata de utilizar la función HORA (al igual que con el MES para las fechas), el juego cambia un poco. La hora ya es bastante complicada en las hojas de cálculo, por lo que son necesarios algunos ajustes.
Para devolver todas las filas con marcas de tiempo comprendidas entre 14:00 H y 12:00 PM Haz esto:
- Encierre el intervalo con marcas de tiempo ( A1:A10 ) en una función HORA separada. Esto le indicará dónde buscar.
- A continuación, añada otra función de HORA para ajustar la hora en sí.
=FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))
Consejo. Comprueba que el resultado no incluye 12:41 PM Eso es porque la hoja de cálculo lo trata como 00:41 que es inferior a 2:00 .
Si encuentras una solución más elegante, compártela en la sección de comentarios.
Cómo filtrar en Google Sheets utilizando referencias de celda
Cada vez que crees una fórmula de filtro en Google Sheets, tendrás que introducir la condición tal cual: si es una palabra o su parte, la fecha, etc. A menos que estés familiarizado con las referencias de celdas.
Facilitan muchas cosas sobre las fórmulas. Porque en lugar de escribirlo todo, puedes referirte simplemente a las celdas con condiciones.
¿Recuerdas cómo busqué todas las órdenes que están retrasadas? Puedo referirme rápidamente a E4 con el texto Tarde a hacer lo mismo:
=FILTER(A1:E20,E1:E20=E4)
El resultado no diferirá en absoluto:
Puede repetir esto con todas las fórmulas mencionadas. Por ejemplo, evite añadir más funciones como DATE y limítese a hacer referencia a la celda con una fecha de interés:
=FILTER(A1:E20,C1:C20=C15)
Consejo. Las referencias de celda también le permiten filtrar desde otra hoja. Sólo tiene que traer el nombre de la hoja:
=FILTER(Pedidos!A1:E20,Pedidos!C1:C20=Pedidos!C15)
Fórmulas FILTRO de Google Sheets con varios criterios
Aunque antes utilizaba principalmente una condición en todas las fórmulas de filtro de Google Sheets, es más probable que necesites filtrar una tabla por varias condiciones a la vez.
Ejemplo 1. Lógica IS BETWEEN
Para encontrar todas las filas comprendidas entre dos números/fechas/horas, resultarán útiles los argumentos opcionales de la función - condición2 , condición3 etc. Simplemente duplica el mismo rango cada vez pero con una nueva condición.
Mira, voy a devolver sólo los pedidos que me cuesten más de 250 dólares pero menos de 350:
=FILTER(A1:E20,B1:B20>=250,B1:B20<350)
Ejemplo 2. Lógica OR en la función FILTRO de Google Sheets
Lamentablemente, para obtener todas las filas que contienen registros diferentes en una columna de interés, la forma anterior no servirá. Entonces, ¿cómo puedo comprobar todos los pedidos que están tanto en camino como retrasados?
Si pruebo el método anterior e introduzco el estado de cada pedido en una condición independiente, obtendré el error #N/A:
Por lo tanto, para establecer correctamente la lógica OR en la función FILTRO, debo sumar estos dos criterios dentro de una condición:
=FILTER(A1:E20,(E1:E20="Tarde")+(E1:E20="De camino"))
Añadir filtro a Google Sheets a varias columnas
Lo que es incluso más probable que aplicar unas cuantas condiciones a una columna es crear un filtro en Hojas de cálculo de Google para varias columnas.
Los argumentos son todos los mismos, pero cada nueva parte de la fórmula requiere un nuevo rango con sus propios criterios.
Intentemos que la función FILTRO de Google Sheets devuelva los pedidos que cumplan todas las reglas siguientes:
- Deben valer entre 200 y 400 dólares:
A1:E20,B1:B20>=200,B1:B20<=400
- Deben presentarse en enero de 2020:
MES(C1:C20)=1
- Y siguen en camino:
E1:E20="en camino"
Junta todas estas partes y tu fórmula de filtro de Google Sheets para varias columnas estará lista:
=FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")
Filtro avanzado de Google Sheets sin fórmulas
La función FILTER es genial y todo eso, pero a veces puede ser demasiado. Hacer un seguimiento de todos los argumentos, delimitadores, funciones anidadas y demás puede ser extremadamente confuso y llevar mucho tiempo.
Por suerte, tenemos una solución mejor que trasciende tanto la función FILTRO de Google Sheets como su herramienta estándar: Múltiples coincidencias VLOOKUP.
No te dejes confundir por su nombre. Se parece a la función VLOOKUP de Google Sheets porque busca coincidencias. Igual que hace la función FILTRO. Igual que hice yo más arriba.
Aquí tiene 5 ventajas principales de la herramienta sobre la función FILTRO de Google Sheets:
- No tendrá que pensar en operadores para diferentes condiciones - sólo tienes que elegir uno de la lista:
Te animo a que instales Multiple VLOOKUP Matches y lo pruebes. Para ver sus opciones más de cerca, visita su página de tutoriales o mira un vídeo instructivo especial: