La función QUERY en Google Sheets ( 7 Ejemplos prácticos)
La función QUERY en Google Sheets permite ejecutar consultas sobre una base de datos. Busca, filtra, resume y ordena información en el formato que uno desee. Es muy útil para elaborar filtros e informes con una sola fórmula.
Es una función poderosa y muy versátil que se puede combinar con:
- Operaciones de lógica, como Y (AND) y O (OR)
- Operaciones de comparación, como “mayor que”, “menor que”
- Operaciones aritméticas
- Y con otras funciones “agregadas” como CONTAR, MIN, MAX
Puede remplazar el trabajo de otras funciones (SI, BUSCAR, BUSCARV), incluso, logra replicar muchas de las funcionalidades de una tabla dinámica.
En este artículo, con un ejemplo escalonado, explicaremos como aplicarla en diferentes escenarios.
Tabla de contenido
1. Sintaxis
=QUERY(datos;”consulta”;[encabezado])
- Datos: Corresponde al rango de celdas sobre el cual se ejecutará la consulta.
- Consulta: Es la expresión de la “Consulta” (QUERY) que se busca en el rango definido. Siempre debe estar “entre comillas”.
- Encabezado: Le dice a la función cuantas filas de encabezados deberán ser excluidos de la búsqueda y ser, o no, incluidos como título por encima del rango de datos. Es opcional, si se deja en blanco, Google Sheets determinará el valor en función al contenido de los datos.
NOTA: Recalcamos que los componentes de la sintaxis están separados por “punto y coma” (;) dado que estamos utilizando la versión en español de Google Sheets, en la versión en inglés se utiliza “coma” (,)
2. Ejemplo introductorio
Este ejemplo inicial no tiene aplicación práctica, es simplemente una introducción para familiarizarse con la formulación.
En todos los ejemplos, utilizaremos la siguiente tabla, la cuál contiene los INGRESOS, EGRESOS y UNIDADES para una empresa que vende peras y manzanas en diferentes países que se encuentran en tres regiones.
En esta etapa, en la función QUERY en Google Sheets, introducimos el concepto de “Cláusulas” (Clauses) que aplicaremos en las siguientes formulaciones.
Una cláusula es una parte de la consulta (query) que te permite filtrar en base al rango de datos definido.
La primera “cláusula” a considerar es SELECT, la cual te permite “Seleccionar” las columnas del rango de datos desde las cuales se extraerá la información.
Para este ejemplo introductorio, extraeremos el total de columnas. En otras palabras, simplemente replicaremos la tabla completa.
Para ello, como podemos observar en la siguiente imagen, nos situamos en “Celda I1” y escribimos la fórmula:
=QUERY(A1:G24;”SELECT*”;1)
Donde:
- Datos: A1:G24, corresponde al rango desde el cual extraeremos los datos requeridos en la consulta.
- Consulta: SELECT, es la cláusula que nos indica de qué columnas se extraerán los datos. En este ejemplo introductorio, al poner asterisco (*), significa que se considerará a todas las columnas, desde la “Columna A” hasta la “Columna F”.
- Encabezado: 1, se utilizarán los encabezados de la “Fila 1”. Cabe resaltar que solo extrae los datos y no el formato.
3. Selección de columnas especificas
Para extraer datos solamente de columnas específicas, en lugar del asterisco (*) que utilizamos en el anterior ejemplo, elegimos las columnas que queramos.
En el ejemplo, elegiremos la “Columna B” (REGION), “Columna D” (PRODUCTO) y “Columna F” (INGRESOS). La formulación quedaría así:
=QUERY(A1:G24;”SELECT B,D,F”;1)
En la siguiente imagen, observamos que el resultado con las tres columnas seleccionadas:
4. Incorporando “Condiciones” en la formulación.
Complementando SELECT, la función QUERY en Google Sheets nos permite incorporar WHERE, cláusula que agrega una o varias condiciones al QUERY (Consulta).
Ejemplo 1
Al ejemplo anterior añadiremos una condición para que muestre los INGRESOS superiores a 700 para las columnas seleccionadas (REGION y PRODUCTO).
La consulta sería la siguiente:
=QUERY(A1:G24;”SELECT B,D,F WHERE F>700”;1)
Ejemplo 2
En este caso, queremos que la consulta nos muestre los INGRESOS de la REGIÓN “Suramérica”.
=QUERY(A1:G24;”SELECT B,D,F WHERE B=’Suramérica’”;1)
NOTA: La palabra debe estar entre comillas simples (‘palabra‘) y escrita exactamente como se encuentra en la tabla, lo que incluye acentos, mayúsculas y minúsculas.
5. Consulta con ordenamiento
Otra cláusula muy útil para la función QUERY en Google Sheets es ORDER BY, que sirve para ordenar los datos en forma ascendente (ASC) o descendente (DESC).
En el siguiente ejemplo, ordenamos los INGRESOS (Columna G) de mayor a menor (DESC)
=QUERY(A1:G24;”SELECT B,D,F ORDER BY G DESC”;1)
Resultado:
6. Consulta agrupando datos
La cláusula GROUP BY se utiliza para resumir datos en grupos.
Adicional a las cláusulas SELECT y WHERE, normalmente se la utiliza junto a funciones agregadas como ser: SUM, MAX, MIN, entre otras.
En el siguiente ejemplo, resumiremos los INGRESOS (Columna F) para cada una de las tres REGIONES (Norteamérica, Centroamérica y Suramérica)
- Primero seleccionamos (SELECT) la columna con los datos a agrupar (Columna B).
- Luego, para sumar los INGRESOS, utilizamos la función SUM con los datos de la “Columna F”.
- Finalmente, aplicamos la clausula GROUP BY para agrupar por REGIÓN (Columna B)
La formulación sería la siguiente:
=QUERY(A1:G24;”SELECT B, SUM(F) GROUP BY B”;1)
7. Incorporando una lista desplegable (Drop Down list) en el QUERY
La función QUERY en Google Sheets permite combinar diferentes tipos de funciones, formatos y aplicaciones.
Sobre la base del ejemplo del punto anterior, en el que agrupamos los INGRESOS para cada una de las tres REGIONES, ahora incorporaremos una “Lista desplegable” que nos permita mostrar los INGRESOS, solo, de los productos que elijamos de la lista.
Paso 1: Nos situamos en la “Celda I1” y ponemos el título PRODUCTO
Paso 2: En la “Celda I2” configuramos la lista desplegable. Para ello:
- En el menú principal nos vamos a “Datos”, elegimos “Validación de datos”
- En el recuadro, en la opción de criterios elegimos “Lista de elementos” e introducimos los dos productos separados por coma: Peras,Manzanas
- Hacemos clic en guardar
Si requieres más información de “Listas Desplegables” haz clic aquí.
Paso 3: Escribe la siguiente formulación:
=QUERY(A1:G249;”SELECT B,SUM(F) WHERE D=’”&I2&”’ GROUP BY B”;1)
Con esta formulación, le estamos instruyendo a la consulta (QUERY) que extraiga los datos cuando la “Celda I2” indique, ya sea, “Peras” o “Manzanas”. Para ello es que incluimos la nomenclatura ‘”&I2&”’ de tal manera que, reconozca que es un texto concatenado.
Hola,
disculpas por mi torpeza. Tengo una función que genera una lista desplegable, y me gustaría extraer algunos datos de ella. En concreto necesitaría las primera y quinta columna de la segunda fila. Mi fórmula es
=query(YHFINANCE_HISTORY2(«0P000172KL.F»;»2022-08-27″;»2022-08-27″),»select * label «Date»»)
pero no consigo nada. Gracias de antemano
Hola Ruth. Gracias por comunicarte con nosotros. Tendríamos que conocer más a fondo tu tabla y el contexto. De todas maneras, los siguientes artículos pueden ser de ayuda para que lo hagas por tu cuenta:
BUSCARV
UNIQUE
Lista Desplegable
QUERY
Por otro lado, muy pronto, Google Sheets habilitará una nueva función de búsqueda similar a BUSCARV, que posiblemente te pueda servir. Te avisaremos cuando este disponible.
Saludos!