Si necesita manipular datos en Hojas de cálculo de Google, ¡la función QUERY puede ayudarlo! Trae una búsqueda potente al estilo de una base de datos a su hoja de cálculo, para que pueda buscar y filtrar sus datos en cualquier formato que desee. Le guiaremos a través de cómo usarlo.
¿De qué vamos a hablar?
Uso de la función QUERY
La función QUERY no es demasiado difícil de dominar si alguna vez ha interactuado con una base de datos utilizando SQL. El formato de una función QUERY típica es similar a SQL y lleva el poder de las búsquedas de bases de datos a Hojas de cálculo de Google.
El formato de una fórmula que utiliza la función QUERY es =QUERY(data, query, headers)
. Reemplace “datos” con su rango de celdas (por ejemplo, “A2:D12” o “A:D”) y “consulta” con su consulta de búsqueda.
El argumento opcional “encabezados” establece el número de filas de encabezado que se incluirán en la parte superior del rango de datos. Si tiene un encabezado que se extiende sobre dos celdas, como “Primero” en A1 y “Nombre” en A2, esto especificaría que QUERY use el contenido de las dos primeras filas como encabezado combinado.
En el siguiente ejemplo, una hoja (denominada “Lista de personal”) de una hoja de cálculo de Hojas de cálculo de Google incluye una lista de empleados. Incluye sus nombres, números de identificación de empleados, fechas de nacimiento y si han asistido a su sesión obligatoria de capacitación de empleados.
En una segunda hoja, puede usar una fórmula QUERY para extraer una lista de todos los empleados que no han asistido a la sesión de capacitación obligatoria. Esta lista incluirá números de identificación de empleados, nombres, apellidos y si asistieron a la sesión de capacitación.
Para hacer esto con los datos mostrados anteriormente, puede escribir =QUERY('Staff List'!A2:E12, "SELECT A, B, C, E WHERE E = 'No'")
. Esto consulta los datos del rango A2 a E12 en la hoja “Lista de personal”.
Al igual que una consulta SQL típica, la función QUERY selecciona las columnas que se mostrarán (SELECT) e identifica los parámetros para la búsqueda (WHERE). Devuelve las columnas A, B, C y E, proporcionando una lista de todas las filas coincidentes en las que el valor de la columna E (“Entrenamiento asistido”) es una cadena de texto que contiene “No”.
Como se muestra arriba, cuatro empleados de la lista inicial no han asistido a una sesión de capacitación. La función QUERY proporcionó esta información, así como columnas coincidentes para mostrar sus nombres y números de identificación de empleado en una lista separada.
En este ejemplo se utiliza un rango de datos muy específico. Puede cambiar esto para consultar todos los datos de las columnas A a E. Esto le permitiría continuar agregando nuevos empleados a la lista. La fórmula QUERY que utilizó también se actualizará automáticamente cada vez que agregue nuevos empleados o cuando alguien asista a la sesión de capacitación.
La fórmula correcta para esto es =QUERY('Staff List'!A2:E, "Select A, B, C, E WHERE E = 'No'")
. Esta fórmula ignora el título inicial “Empleados” en la celda A1.
Si agrega un empleado número 11 que no ha asistido a la capacitación a la lista inicial, como se muestra a continuación (Christine Smith), la fórmula QUERY también se actualiza y muestra al nuevo empleado.
Fórmulas QUERY avanzadas
La función QUERY es versátil. Le permite utilizar otras operaciones lógicas (como AND y OR) o funciones de Google (como COUNT) como parte de su búsqueda. También puede utilizar operadores de comparación (mayor que, menor que, etc.) para buscar valores entre dos figuras.
Uso de operadores de comparación con QUERY
Puede utilizar QUERY con operadores de comparación (como menor que, mayor que o igual a) para reducir y filtrar datos. Para hacer esto, agregaremos una columna adicional (F) a nuestra hoja “Lista de personal” con el número de premios que cada empleado ha ganado.
Usando QUERY, podemos buscar a todos los empleados que han ganado al menos un premio. El formato de esta fórmula es =QUERY('Staff List'!A2:F12, "SELECT A, B, C, D, E, F WHERE F > 0")
.
Esto utiliza un operador mayor que la comparación (>) para buscar valores por encima de cero en la columna F.
El ejemplo anterior muestra que la función QUERY devolvió una lista de ocho empleados que han ganado uno o más premios. De un total de 11 empleados, tres nunca han ganado un premio.
Uso de AND y OR con QUERY
Las funciones de operador lógico anidado como AND y OR funcionan bien dentro de una fórmula QUERY más grande para agregar múltiples criterios de búsqueda a su fórmula.
Una buena manera de probar AND es buscar datos entre dos fechas. Si usamos nuestro ejemplo de lista de empleados, podríamos enumerar a todos los empleados nacidos entre 1980 y 1989.
Esto también aprovecha los operadores de comparación, como mayor o igual que (>=) y menor o igual que (<=).
El formato Para esta fórmula es =QUERY('Staff List'!A2:E12, "SELECT A, B, C, D, E WHERE D >= DATE '1980-1-1' and D <= DATE '1989-12-31'")
. Esto también utiliza una función DATE anidada adicional para analizar correctamente las marcas de tiempo de fecha y busca todos los cumpleaños entre e iguales al 1 de enero de 1980 y el 31 de diciembre de 1989.
Como se muestra arriba, tres empleados que nacieron en 1980, 1986 y 1983 cumplen con estos requisitos.
También puede usar OR para producir resultados similares. Si usamos los mismos datos, pero cambiamos las fechas y usamos OR, podemos excluir a todos los empleados que nacieron en la década de 1980.
El formato de esta fórmula sería =QUERY('Staff List'!A2:E12, "SELECT A, B, C, D, E WHERE D >= DATE '1989-12-31' or D <= DATE '1980-1-1'")
.
De los 10 empleados originales, tres nacieron en la década de 1980. El ejemplo anterior muestra los siete restantes, que nacieron antes o después de las fechas que excluimos.
Uso de COUNT con QUERY
En lugar de simplemente buscar y devolver datos, también puede mezclar QUERY con otras funciones, como COUNT, para manipular datos. Digamos que queremos eliminar a varios de todos los empleados en nuestra lista que han asistido y no han asistido a la sesión de capacitación obligatoria.
Para ello, puede combinar QUERY con COUNT de esta manera. =QUERY('Staff List'!A2:E12, "SELECT E, COUNT(E) group by E")
.
Centrándose en la columna E (“Capacitación asistida”), la función QUERY usó COUNT para contar el número de veces que se encontró cada tipo de valor (una cadena de texto “Sí” o “No”). De nuestra lista, seis empleados han completado la capacitación y cuatro no.
Puede cambiar fácilmente esta fórmula y usarla con otros tipos de funciones de Google, como SUM.