Probablemente hayas oído hablar de SQL, un lenguaje de consulta estructurado para procesar información en bases de datos relacionales, donde los datos se almacenan en forma tabular. En las hojas de cálculo, la información también se almacena en forma tabular, por lo que sería lógico poder consultar los datos de una forma similar a SQL.
Google Sheets ofrece esta opción con la ayuda de la función QUERY. Es muy similar a SQL y combina las capacidades de muchas otras funciones, como FILTRO, SUMA, VLOOKUP, etc. Por lo tanto, si ya tienes conocimientos de SQL, te resultará mucho más fácil dominar la función QUERY de Google Sheets. Si no lo tienes, no te preocupes, hemos puesto mucho esfuerzo en este artículo para convertirlo en el tutorial definitivo para principiantes que cubre la mayoría de las preguntas relacionadas con Google Sheets Query que puedas tener.
¿Qué es la función query en Google Sheets?
¿Qué es una consulta en Google Sheets? Es una función que toma los datos basándose en criterios y, si es necesario, modifica el formato, realiza cálculos adicionales, cambia el orden de las columnas, etc. Como resultado, tu fuente de datos permanece inalterada y tu hoja de trabajo tiene la selección de columnas y filas que necesitas para completar la tarea.
¿Cómo se utiliza la query en Google Sheets?
La función de consulta de Google Sheets permite a los usuarios realizar diversas manipulaciones de datos. Por ejemplo, resulta muy útil cuando es necesario preparar los datos en un formato especial para poder utilizarlos en la creación de determinados tipos de visualizaciones. Tu fuente de datos puede incluir demasiada información o ser inadecuada para el formato específico del gráfico o el orden de las columnas.
Google Sheets Query utiliza el lenguaje de consulta del API de Google para recuperar y manipular datos del API de Google Sheets. Por ejemplo, quieres recuperar todas las filas de una hoja en las que el valor de la columna A sea mayor que 10. En este caso, la mecánica de la función Query en Google Sheets será la siguiente:
- Crea una consulta de tipo SQL utilizando el lenguaje de consulta de la API de Google
- La función envía una solicitud a la API de Google Sheets utilizando la consulta y recibe los datos filtrados como resultado.
Sintaxis de la fórmula de query en Google Sheets
Un pequeño spoiler al principio del artículo: explicaré cada cadena de consulta por separado y señalaré esta hoja de cálculo de Google Sheets para mostrar cómo funciona realmente.
Empecemos nuestro viaje viendo la sintaxis de la función de consulta de Google Sheets.
= QUERY(datos, consulta, [cabeceras])
donde
- datos: un conjunto de celdas a las que desea solicitar que Google Sheets realice una consulta.
- query – una cadena que contiene una consulta compuesta utilizando el Lenguaje de consulta de la API de Google. No olvide entrecomillar la consulta, como se muestra a continuación:
=query('data from Airtable'!A:L, "select *")
También puedes hacer referencia a una celda con la consulta escrita en el lenguaje de consulta de Google.
- Encabezados: parte opcional de la fórmula de consulta para definir el número de filas de encabezados del conjunto de datos.
¿Qué son los literales en la función de query en Google Sheets?
Los literales son los distintos tipos de valores que se introducen en una hoja de cálculo. En el lenguaje de consulta de la API de Google existen los siguientes tipos de literales:
- Cadenas – son los valores de texto que se colocan entre comillas simples o dobles. Tenga en cuenta que distinguen entre mayúsculas y minúsculas. Por ejemplo:
"primer día" "una persona" "Hamburguesa"
- Números – son cifras utilizadas en notación decimal. Por ejemplo:
1 2,5 7,15 -20,0 .8
- Fecha/hora – este tipo de literales incluye:
- la palabra FECHA y el valor en formato
aaaa-MM-dd
; - la palabra TIMEOFDAY y el valor en el formato
HH:mm:ss[.SSS]
; - la palabra TIMESTAMP o DATETIME y el valor en el formato
aaaa-MM-dd HH:mm:ss[.SSS]
.
- la palabra FECHA y el valor en formato
Nota: cada columna sólo puede tener un tipo de literal: valores de cadena o numéricos (que contienen números y fecha/hora). Si una columna determinada incluye más de un tipo de literal, Google Sheets elegirá el tipo de datos que se utilice con más frecuencia para esta columna para ejecutar la función de consulta.
Cómo importar y query datos sin fórmulas
Si eres nuevo en las consultas de datos o te resulta difícil seguir la pista a las distintas sintaxis de las fórmulas de Google Sheets, Coupler.io te ofrece una solución más sencilla e intuitiva.
Puedes consultar datos de diferentes hojas de cálculo y aplicaciones en tiempo real utilizando Coupler.io sin fórmulas. Esto ayuda a ahorrar tiempo, evitar posibles errores y disponer de datos actualizados.
Pruébalo gratis: selecciona el destino de origen en el siguiente formulario y haz clic en Continuar. Puedes registrarte con tu cuenta de Google sin necesidad de facilitar ningún dato de pago.
A continuación, deberás conectar tu fuente de datos y especificar los datos que deseas importar. Después de esto, puedes consultar y transformar los datos utilizando las siguientes opciones.
- Gestión de columnas: oculta y desoculta columnas según sea necesario.
- Filtro – En lugar de utilizar diferentes combinaciones de cláusulas WHERE, puedes filtrar basándote en múltiples criterios.
- Ordenar – Ordena los datos de forma ascendente, descendente y por fecha sin las cláusulas ORDER BY.
- Fórmula: crea fórmulas personalizadas fácilmente utilizando diferentes columnas.
A continuación, se muestra cómo se ve este paso en el ejemplo de uso de Airtable a la integración de Google Sheets.
Ahora, guarda tus datos transformados en Google Sheets. Configuras un programa de actualización automática de datos para transferir los datos de Airtable a Google Sheets cada 15 minutos.
De este modo, siempre dispondrás de datos de Airtable consultados en tiempo real en Google Sheets.
Cláusulas de query en Google Sheets para diseñar consultas de datos
En SQL, una cláusula es un componente de una sentencia que especifica una acción concreta.
El lenguaje de consulta de la API de Google incluye 9 cláusulas; cada una de ellas tiene una finalidad única. Son opcionales, lo que significa que no es necesario incluirlas todas en una consulta.
Una cadena de consulta puede contener varias cláusulas separadas por espacios que deben escribirse en este orden: 1) SELECT, 2) WHERE, 3) GROUP BY, 4) PIVOT, 5) ORDER BY, 6) LIMIT, 7) OFFSET, 8) LABEL, 9) FORMAT.
Sigue leyendo para aprender más sobre estas cláusulas y ver los ejemplos que las acompañan. Pero primero, vamos a obtener algunos datos de ejemplo para ayudarte a dominar tus habilidades con las fórmulas de Query. Extraeremos un conjunto de datos de una base de datos de Airtable a Google Sheets utilizando una herramienta ETL de Coupler.io.
Ahora, estamos listos para seguir adelante y explorar la función Consulta con algunos ejemplos de la vida real.
#1: Google Sheets Query SELECT
La cláusula SELECT permite definir las columnas que deseas obtener y el orden en que deseass organizarlas en la nueva hoja de cálculo. Si no se especifica el orden, los datos se devolverán “tal cual” en una hoja de cálculo de origen.
Se pueden utilizar identificadores de columna (las letras situadas en la parte superior de cada columna de una hoja de cálculo), por ejemplo, SELECT A, B, o hacer referencia a columnas como Col1, Col2 y así sucesivamente en la secuencia numérica. También se pueden referenciar los resultados de operadores aritméticos, funciones escalares o de agregación como elementos a ordenar en esta cláusula.
Nota: Si planeas incrustar Query en fórmulas más complejas, recomendamos referenciar las columnas como Col1, Col2 y así sucesivamente en la secuencia numérica. Si eliges esta opción, el argumento de datos de la sintaxis general de Query deberá ir entre llaves.
= QUERY({datos}, consulta, [cabeceras])
Ejemplo de query SELECT all en Google Sheets
En nuestro caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select *")
A:I
– rango de datos a consultar"select *"
– seleccionar toda la información del conjunto de datos mencionado
Nota: El parámetro cabeceras permite especificar el número de filas de cabecera que se devolverán. Si omites el elemento de encabezado, los datos devueltos incluirán la fila de encabezado; para eliminar los encabezados, escribe “0” en la fórmula de consulta de la siguiente manera:
=query('data from Airtable'!A:I, "select *", 0)
La misma acción se puede llevar a cabo a través de Coupler.io que extrae todos los datos de otra planilla u hoja de cálculo a tu documento actual. Echa un vistazo al artículo , que explica cómo configurar esta conexión.
Ejemplo de query en Google Sheets SELECT una o varias columnas
Si un usuario desea obtener sólo una o varias columnas, debe definirlas mediante un ID de columna, como se indica a continuación:
=query('data from Airtable'!A:I, "select C, E, I")
A:I
– rango de datos a consultar"select C, E, I"
– extrae todos los datos de las columnas C, E, I
Ejemplo de query SELECT de varias hojas de Google Sheets
Si necesitas consultar diferentes hojas de Google Sheets, es decir, si quieres seleccionar datos de varias pestañas diferentes de una hoja de cálculo, puedes utilizar el ejemplo siguiente:
=query({'data from Airtable'!A1:L; Sheet1!A1:L; Sheet2!A1:L}, "select * where Col1 is not null")
{'datos de Airtable'!A1:L; Hoja1!A1:L; Hoja2!A1:L}
– una fórmula de matriz encerrada entre llaves que incluye la lista de hojas de las que quiero extraer datos, separadas por punto y coma."select * where Col1 is not null"
– extrae todos los datos en los que el contenido de las filas de la columna 1 (columna A, ID de pedido) no está vacío. Siga leyendo este artículo para obtener más información sobre la cláusula Where, así como sobre los operadores “is null” y “is not null”.
Nota: si quieres consultar datos de otra hoja de cálculo, te recomiendo que utilices una combinación de QUERY e IMPORTRANGE.
#2: Google Sheets Query WHERE
Los usuarios aplican WHERE cuando necesitan extraer filas específicas de las columnas, que ya han identificado en la cláusula SELECT, que satisface una o más condiciones.
Para comparar valores entre filas, es necesario conocer estos operadores lógicos básicos que acompañan a la cláusula WHERE.
Operador | Significado |
---|---|
<= | Menor o igual que |
< | Menos de |
> | Más de |
>= | Mayor o igual que |
= | Igualdad |
! = o <> | No es igual |
Ejemplo de operadores básicos de query WHERE en Google Sheets
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select C, E, I WHERE I>=40")
A:I
– rango de datos a consultar"select C, E, I WHERE I>=40"
– extrae los datos de aquellas columnas C, E, I, donde el valor de la columna I (precio total) es mayor o igual a 40.
Nota: si quieres decir que la celda está vacía o su contenido es igual a 0 – utiliza el operador is null, y si quieres seleccionar filas que no están vacías – entonces escribe is not null.
Ejemplo de condiciones combinadas WHERE de Google Sheets Query
Se pueden combinar varias condiciones utilizando and, or, y not como parte de la cláusula WHERE en la consulta, de la siguiente manera:
=query('data from Airtable'!A:I, "select C, E, I WHERE I>=40 and not E='Denver sandwich'")
A:I
– rango de datos a consultar"select C, E, I WHERE I>=40 and not E='Denver sandwich'"
– extrae los datos de aquellas columnas C, E, I, donde el valor de la columna I (precio total) es mayor o igual a 40 y donde la cadena de la columna E (producto) no incluye Denver sandwich.
Ejemplo de operadores avanzados WHERE de Google Sheets Query
Utilice estos operadores de comparación avanzados para realizar consultas más complejas:
Operador | Significado |
starts with | Compara el valor con la condición y busca la correspondencia completa en el prefijo o al principio de la cadena. |
ends with | Compara el valor con la condición y busca la correspondencia completa en el sufijo o al final de la cadena. |
contains | Compara el valor con la condición y busca su presencia en cualquier parte de la cadena (ya sea al principio, en medio o al final del argumento). |
matches | Esta coincidencia se realiza mediante el uso de expresiones regulares entre comillas simples. |
like | Compara el valor con la condición expresada mediante el uso de dos argumentos: 1) % – se utiliza cuando no puede haber ningún carácter, uno o varios de cualquier tipo y clase; 2) _ (guión bajo) – se utiliza cuando sólo puede haber un único carácter de cualquier clase. |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select C, E, I WHERE E starts with 'C' and C like 'K%'")
A:I
– el rango de celdas a consultar"select C, E, I WHERE E starts with 'C' and C like 'K%'"
– la cadena extrae los datos de esas columnas C, E, I, donde el valor de la columna E (producto) empieza por la letra “C” y donde la cadena de la columna C (nombre del cliente) empieza por la letra “K”.
Ejemplo de búsqueda de coincidencias en Google Sheets
El operador matches ayuda en la búsqueda avanzada de patrones mediante expresiones regulares y el uso de criterios de búsqueda complejos en las consultas.
=query('data from Airtable'!A:L, "select C, E, I WHERE E matches 'Steak sandwich'")
A:I
– rango de datos a consultar"select C, E, I "select C, E, I WHERE E matches 'Steak sandwich'"
– filtra el conjunto de datos para devolver sólo las filas en las que la columna E (producto) coincide exactamente con la frase “Steak sandwich”. A continuación, muestra las columnas C (nombre del cliente), E (producto) e I (precio total) de esas filas filtradas.
Alternativamente, si desea filtrar los datos basándose en una coincidencia parcial, utilice expresiones regulares (RegEx) en la fórmula.
=query('data from Airtable'!A:L, "select C, E, I WHERE E matches '.*sandwich.*'", 1))
A:I
– consulta de datos"select C, E, I "select C, E, I WHERE E matches '.*sandwich.*'"
– filtra el conjunto de datos para devolver sólo las filas en las que la columna E (producto) coincide parcialmente con la frase “sandwich”. Utilice expresiones regulares como ‘.*’ antes y después de “sandwich” para que coincidan con cualquier carácter que aparezca antes o después de “sandwich”.
#3: Google Sheets Query GROUP BY
La cláusula GROUP BY se utiliza para agrupar valores en el rango de datos seleccionado según una determinada condición.
Nota: las columnas que menciona en la cláusula SELECT deben estar presentes en la cláusula GROUP BY o como parte de la función de agregación (por ejemplo, avg, count, max, min, sum).
Ejemplo de GROUP BY una columna: Query de Google Sheets SUM
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select C, sum(I) Group by C")
A:I
– rango de datos a consultar"select C, sum(I) Group by C"
– la cadena suma las compras (columna I) y las agrupa por nombres de clientes (columna C).
Ejemplo de query en Google Sheets GROUP BY varias columnas
En mi caso, la fórmula de Google Sheets Query GROUP By multiple columns lista para usar será la siguiente:
=query('data from Airtable'!A:I, "select C, H, sum(I) Group by C,H")
A:I
– rango de datos a consultar"select C, H, sum(I) Group by C,H"
– la cadena extrae los datos de las columnas C y H, suma las compras (columna I) y agrupa los datos por nombres de clientes (columna C).
Nota: cuando utilices esta fórmula, especifica todas las columnas que definiste en la cláusula Select también en la cláusula Group by. La salida se agrupará por el ID de la primera columna que menciones en la cláusula Group by.
#4: Query PIVOT en Google Sheets
Con la cláusula PIVOT se pueden convertir filas en columnas y viceversa, así como agregar, transformar y agrupar datos por cualquier campo.
Nota: las columnas que mencionas en la cláusula SELECT deben estar presentes en la cláusula GROUP BY o como parte de la función de agregación (por ejemplo, avg, count, max, min, sum).
Ejemplo de query PIVOT sin GROUP BY en Google Sheets
Si las filas de las columnas pivote contienen los mismos valores, la cláusula PIVOT los agregará. Por lo tanto, si no utiliza GROUP BY como parte de la cláusula PIVOT, en un resultado obtendrá una tabla con una sola fila.
=query('data from Airtable'!A:I, "select sum(G) Pivot E")
A:I
– rango de datos a consultar"select sum(G) Pivot E"
– la cadena suma los precios de todas las hamburguesas vendidas (columna G) y las agrupa por el producto (columna E).
Ejemplo de query PIVOT con GROUP BY en Google Sheets
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select C, sum(G) Group BY C Pivot E",1)
A:I
– rango de datos a consultar"select C, sum(G) Group BY C Pivot E"
– la cadena devuelve una tabla PIVOT que tiene los nombres de las hamburguesas (columna E) en la fila de encabezamiento, y la lista de clientes (columna C) como columna principal, mostrando qué hamburguesas compraron los clientes y cuánto pagaron (columna G).
#5: Query en Google Sheets ORDER BY (ascendente o descendente)
En Google Sheets, puedes ordenar los datos utilizando distintas funciones, como SORT, SORTN o QUERY. Dentro de Google Sheets QUERY, puedes ordenar datos a través de columnas en orden ascendente (ASC) o descendente (DESC) utilizando la cláusula ORDER BY.
Los elementos a ordenar dentro de la cláusula ORDER BY pueden ser IDs de columnas o los resultados de operadores aritméticos, escalares o funciones de agregación.
Ejemplo de query ORDER BY de Google Sheets para ordenar en orden ascendente
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select * where A is not null order by A")
A:I
– rango de datos a consultar"select * where A is not null order by A"
– la cadena extrae todos los datos y los ordena por ID de pedido (columna A) en orden ascendente.
Nota: es crucial añadir is not null a la cadena para asegurarse de que la salida no tiene en cuenta las celdas vacías y las muestra todas en la tabla.
Ejemplo de query ORDER BY de Google Sheets para ordenar en orden descendente
Si las filas de las columnas pivote contienen los mismos valores, la cláusula PIVOT los agregará. Por lo tanto, si no utiliza GROUP BY como parte de la cláusula PIVOT, obtendrá una tabla con una sola fila.
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select * order by A DESC")
A:I
– rango de datos a consultar"select * order by A DESC"
: la cadena extrae todos los datos y los ordena por ID de pedido (columna A) en orden descendente.
Ejemplo de query de Google Sheets Ordenar por fecha
Para ordenar los datos por fecha, puede utilizar la cláusula ORDER BY seguida de la fecha.
=QUERY('datos de Airtable'!A1:L21, "ORDER BY B",1)
A:I
– el rango de datos de la consulta"ORDER BY B"
– la cadena para ordenar todo el conjunto de datos basándose en los valores de la columna B (fecha del pedido) en orden ascendente.
#6: Google Sheets Query LIMIT (+ ejemplo de fórmula)
La cláusula Limit reduce la cantidad de filas extraídas de otra hoja u hoja de cálculo.
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select * Limit 5")
A:I
– rango de datos a consultar"select * Limit 5"
– la cadena extrae todos los datos y limita el resultado devuelto a las 5 primeras filas + la cabecera.
#7: Google Sheets Query OFFSET
Con esta cláusula puedes pedir a Google Sheets que omita un número predefinido de filas de la parte superior de la hoja de cálculo de tu fuente de datos.
Ejemplo de fórmula de query en Google Sheets OFFSET only
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select * Offset 10")
A:I
– rango de datos a consultar"select * Offset 10"
– la cadena extrae todos los datos y omite las 10 primeras filas excluyendo la cabecera.
Ejemplo de query OFFSET acompañada de LIMIT en Google Sheets
Si OFFSET se combina con la cláusula LIMIT, aunque siga a LIMIT en la sintaxis, se aplicará primero. En mi caso, la fórmula lista para usar será
=query('data from Airtable'!A:I, "select * Limit 5 Offset 10")
A:I
– rango de datos a consultar"select * Limit 5 Offset 10"
– la cadena extrae todos los datos, omite las 10 primeras filas y limita el resultado a 5 filas excluyendo la cabecera.
#8: Google Sheets Query LABEL (+ejemplo de fórmula)
La cláusula LABEL permite asignar un nombre a un campo de encabezamiento de una o varias columnas. Sin embargo, no podrás aplicarla en lugar de un ID de columna en una cadena de consulta.
Se pueden utilizar ID de columnas o los resultados de operadores aritméticos, funciones escalares o de agregación como elementos de esta cláusula.
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select * label C 'cliente', E 'Hamburguesa', I 'Total pagado'")
A:I
– rango de datos a consultar"select * label C 'cliente', E 'Hamburguesa', I 'Total pagado'"
– la cadena extrae todos los datos, y da a las columnas C, E e I nuevas etiquetas.
#9: FORMATO de Query en Google Sheets
Los usuarios aplican la cláusula FORMAT para dar formato a valores numéricos, de fecha, hora, timeofdate y datetime de una o varias columnas.
Ejemplo de cláusula FORMAT: Fecha de query de Google Sheet
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:J, "select B, G, I, J label J 'Hora' format B 'dd-mmm-aaaa', G '##.00', I '##.000', J 'HH'")
A:J
– rango de datos a consultar"select B, G, I, J label J 'Hora' format B 'dd-mmm-aaaa', G '##.00', I '##.000', J 'HH'"
– la cadena extrae los datos de las columnas B, G, I y J, formatea la fecha en la columna B, el número en las columnas G e I, y la hora – en la columna J, cambiando también su etiqueta a ‘Horas’.
Manipulación de datos con Google Sheets Query
El lenguaje de consulta de la API de visualización de Google especifica las tres funciones y operadores principales que se utilizan para ayudarte a manipular los datos:
- Operadores aritméticos
- Funciones de agregación
- Función escalar
Operadores aritméticos de query de Google Sheets (+ ejemplo de fórmula)
Los operadores aritméticos ayudan a los usuarios a ejecutar cálculos básicos. Incluyen + (más), - (menos), / (dividir), * (múltiplicar)
, donde los parámetros son dos números y el resultado que devuelve la función Query es también un número.
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select C, I, G*H label G*H 'Multiplicación aritmética'")
A:I
– rango de datos a consultar"select C, I, G*H label G*H 'Multiplicación aritmética'"
– la cadena extrae los datos de las columnas C, I, multiplica el valor de la columna G por el número de la columna H y cambia la etiqueta de la columna con multiplicación por ‘Multiplicación aritmética’.- Observe que el valor extraído de la hoja de origen de datos de la columna B es igual al resultado calculado que aparece en la columna C.
Funciones de agregación de queries de Google Sheets (+ ejemplo de fórmula)
Las funciones de agregación se aplican a un ID de columna y ejecutan una operación a través de los datos de todas las filas de esta columna específica. Normalmente, las funciones de agregación aparecen en las cláusulas SELECT, ORDER BY, LABEL y FORMAT. Además, también pueden referirse a un conjunto de datos formado como parte de las cláusulas PIVOT o GROUP BY.
Sin embargo, no pueden utilizarse como parte de estas cláusulas: WHERE, GROUP BY, PIVOT, LIMIT u OFFSET.
Las funciones de agregación incluyen las siguientes categorías:
Soporta número como tipo de columna y el resultado también es un número. | avg() – proporciona la media de todos los números de una columna.sum() – proporciona la suma de todos los números de una columna. |
Admite cualquier tipo de columna y el resultado es un número. | count() – proporciona la cantidad de elementos de una columna (las filas con celdas vacías no se calculan). |
Admite cualquier tipo de columna y el resultado será el mismo que el tipo de columna. En este caso, las fechas anteriores serán menores que las posteriores; y los valores de texto se alinean alfabéticamente, donde también se tiene en cuenta la distinción entre mayúsculas y minúsculas: | max() – proporciona el valor máximo de todos los de una columna.min() – proporciona el valor mínimo de todos los de una columna. |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select min(B), count (C), max(I), avg(G), sum(I)")
A:I
– rango de datos a consultar"select min(B), count (C), max(I), avg(G), sum(I)"
– la cadena obtiene el valor mínimo de la columna B, cuenta el número de elementos de la columna C, extrae el valor máximo de la columna I, calcula la media del contenido de la columna G y suma los números de la columna I.
Funciones escalares de query de Google Sheets (+ ejemplo de fórmula)
Las funciones escalares se utilizan para convertir un parámetro dado en otro valor.
Nota: si utilizas una de las funciones Escalar, se modificará la celda de encabezamiento de la columna.
Estas funciones pueden utilizarse como parte de las cláusulas SELECT, WHERE, GROUP BY, PIVOT, ORDER BY, LABEL y FORMAT.
A continuación, he dividido las funciones en grupos según los parámetros requeridos y los tipos de valores que devuelven.
Funciones escalares DATE o DATETIME
Funciones escalares que admiten un único parámetro de tipo DATE o DATETIME y devuelven un número como resultado:
Nombre de la función | Para qué sirve |
año() | Obtiene el año de un valor DATETIME/TIMESTAMP o DATE. |
mes() | Obtiene el mes de un valor DATETIME/TIMESTAMP o DATE en una escala de 0 a 11, donde enero equivale a 0, febrero a 1, y así sucesivamente terminando con diciembre que tiene 11. |
día() | Obtiene el día del mes a partir de un valor DATETIME/TIMESTAMP o DATE. |
trimestre() | Obtiene el trimestre de un valor DATETIME/TIMESTAMP o DATE en una escala de 1 a 4, donde 1 corresponde al primer trimestre, 2 – al segundo y así sucesivamente. |
dayOfWeek() | Obtiene el día de la semana a partir de un valor DATETIME/TIMESTAMP o DATE en una escala de 1 a 7, donde 1 corresponde al domingo, 2 – al lunes y así sucesivamente. |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select año(B), mes(B), día(B), trimestre(B), día de la semana(B)")
A:I
– rango de datos a consultar"select year(B), month(B), day(B), quarter(B), dayofweek(B)"
– la cadena obtiene el año, mes, día, trimestre y día de la semana de la columna B (fecha de orden).
Funciones escalares DATETIME o TIMEOFDAY
Funciones escalares que admiten un único parámetro de tipo DATETIME o TIMEOFDAY y el resultado es un número:
Nombre de la función | Para qué sirve |
hour() | Obtiene la hora de un valor DATETIME/TIMESTAMP o DATE. |
minute() | Obtiene el minuto de un valor DATETIME/TIMESTAMP o DATE. |
second() | Obtiene el segundo de un valor DATETIME/TIMESTAMP o DATE. |
millisecond() | Obtiene el milisegundo de la semana a partir de un valor TIMEOFDAY o DATETIME/TIMESTAMP. |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:K, "select bour(K), minute(K), second(K), milisecond(K)")
A:K
– el rango de datos a consultar"select hour(K), minute(K), second(K), milisecond(K)"
– la cadena obtiene la hora, el minuto, el segundo y el milisegundo de la columna K (fecha/hora 2).
Funciones escalares para convertir valores en mayúsculas o minúsculas
Funciones escalares que admiten un único parámetro de tipo String y el resultado también es un String:
Nombre de la función | Para qué sirve |
upper() | Convierte el valor de la cadena sustituyendo todas las letras por mayúsculas. |
lower() | Convierte el valor de la cadena sustituyendo todas las letras por minúsculas. |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:I, "select lower(C), upper(C)")
A:I
– rango de datos a consultar"select lower(C), upper(C)"
– la cadena obtiene los datos de la columna C (nombre del cliente) y convierte toda la información a minúsculas y mayúsculas.
Función escalar para calcular la diferencia de fechas
Una función escalar que admite dos parámetros de tipo DATE o DATETIME (puede ser cualquiera de estos dos) y el resultado es un número:
Nombre de la función | Para qué sirve |
dateDiff() | Calcula la diferencia entre los dos valores DATE / DATETIME / TIMESTAMP y muestra el resultado como un número de días. Tenga en cuenta que el valor de la hora no se tiene en cuenta durante el cálculo. |
Ejemplo de cálculo de la diferencia entre dos fechas
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:K, "select dateDiff(B,K) label dateDiff(B,K) 'Diferencia entre dos fechas, días'")
A:K
– el rango de datos a consultar"select dateDiff(B,K) label dateDiff(B,K) 'Diferencia entre dos fechas, días'"
– la cadena de consulta calcula la diferencia en días entre las fechas de las columnas B y K (B-K) y cambia la etiqueta de la columna respectivamente.
Ejemplo de cálculo de la diferencia entre la fecha y el ahora
Para calcular la diferencia entre una fecha dada y la hora actual, primero tendremos que familiarizarnos con la función now().
No requiere ningún parámetro y devuelve una FECHA como resultado:
Nombre de la función | Significado |
now() | Muestra el valor actual de DATETIME utilizando la hora GMT. |
La fórmula para calcular la diferencia es la siguiente:
=query('data from Airtable'!A:K, "select dateDiff(B,now()) label dateDiff(B,now()) 'Diferencia entre fecha y ahora,dias'")
A:K
– el rango de datos a consultar"select dateDiff(B,now()) label dateDiff(B,now()) 'Diferencia entre fecha y ahora,días'"
– la cadena de consulta calcula la diferencia en días entre la fecha de la columna B y ahora (fecha y hora actuales) y cambia la etiqueta de la columna respectivamente.
Función escalar para convertir valores en una fecha
Esta función admite uno de los parámetros a la vez: una FECHA, una FECHA-TIEMPO o un NÚMERO y devuelve una FECHA:
Nombre de la función | Para qué sirve |
toDate() | Convierte un valor de FECHA, FECHA-TIEMPO o NÚMERO en una FECHA: – Si un parámetro dado es una FECHA – el valor devuelto será el mismo valor de FECHA – Si un parámetro dado es una FECHA – el valor devuelto será sólo la FECHA – Si un parámetro dado es un NÚMERO – el valor devuelto será la FECHA calculada como el número de milisegundos después del 01.01.1970 00:00:00 GMT (la Época). |
En mi caso, la fórmula lista para usar será la siguiente
=query('data from Airtable'!A:K, "select toDate(K)")
A:K
– el rango de datos a consultar"select toDate(K)"
– la cadena de consulta devuelve el valor de la fecha del parámetro DATETIME.
Query en Google Sheets para iniciar tu camino con SQL
La función de consulta de Google Sheets ayuda a gestionar datos a través de hojas de cálculo para diversos casos de uso. Comprender las diferentes sintaxis de Query con ejemplos sentará una base sólida para consultar datos en otros almacenes de datos como BigQuery. Pero memorizar todas las cláusulas y cómo envolverlas en fórmulas puede ser un reto, junto con los frecuentes errores de Google.
Coupler.io es una solución alternativa para importar y consultar fácilmente datos en tiempo real. No sólo las hojas de cálculo, puedes consultar datos de múltiples fuentes sin ningún tipo de fórmulas. Coupler.io reemplaza una gran cantidad de fórmulas complejas de Google Sheets Query como WHERE y ORDER BY con características simples, como la gestión de columnas, ordenar, filtrar y columnas personalizadas.
Automatice la exportación de datos con Coupler.io
Empiece gratis