Cómo usar QUERY en Google Sheets: sintaxis y ejemplos

Última actualización: 30/10/2026

  • QUERY permite filtrar, ordenar y resumir datos sin modificar el rango original.
  • Los encabezados y los tipos de datos influyen en el resultado, especialmente cuando faltan valores.
  • Las matrices combinadas utilizan identificadores por posición, que deben revisarse si cambia la estructura.
  • Conviene diagnosticar los errores antes de ocultarlos, para no confundir una fórmula incorrecta con una consulta sin coincidencias.
Cómo usar QUERY en Google Sheets

La función QUERY de Google Sheets permite seleccionar columnas, filtrar registros, ordenar resultados y calcular resúmenes mediante una fórmula. Resulta útil cuando necesitas generar un informe que dependa de los datos de otra tabla sin modificar el contenido original.

Su consulta utiliza el lenguaje de Google Visualization, con una sintaxis parecida a SQL. Para empezar no necesitas conocer todo ese lenguaje: puedes construir una consulta sencilla y añadir condiciones o agrupaciones a medida que las necesites.

Sintaxis de QUERY en Google Sheets y primer ejemplo

Sintaxis de QUERY en Google Sheets

La estructura de la función tiene tres argumentos:

=QUERY(datos; consulta; encabezados)
  • datos: el rango o la matriz que quieres consultar.
  • consulta: las instrucciones entre comillas o una referencia a una celda que las contenga.
  • encabezados: el número de filas iniciales del rango que son títulos. Utiliza 1 si hay una fila de encabezados y 0 si no hay ninguna. Si lo omites o introduces -1, Sheets intenta deducirlo.

En los ejemplos siguientes utilizaremos una tabla con esta estructura:

A: Fecha B: Cliente C: Estado D: Importe E: Canal
01/10/2026 Ana Completado 100 Web
02/10/2026 Luis Pendiente 80 Tienda
03/10/2026 Ana Completado 50 Tienda
04/10/2026 Marta Completado 200 Web
05/10/2026 Luis Cancelado 40 Web

Los encabezados están en la fila 1 y los cinco registros ocupan las filas 2 a 6. Para devolver toda la tabla, escribe la fórmula en una zona libre, por ejemplo G1:

=QUERY(A1:E6;"select *";1)

Los ejemplos usan punto y coma entre argumentos. Si tu archivo utiliza comas, adapta esos separadores. Las comas del texto de la consulta, como en select B, D, deben conservarse.

Contenido exclusivo - Clic Aquí  ¿Cómo buscar contenido en Finder?

Seleccionar columnas, filtrar y ordenar resultados

Lupa sobre gráficos y documentos junto a un ordenador portátil.

La cláusula select permite elegir las columnas. Para mostrar únicamente el cliente y el importe:

=QUERY(A1:E6;"select B, D";1)

Con where puedes limitar los registros a los pedidos completados:

=QUERY(A1:E6;"select B, D where C = 'Completado'";1)

En el ejemplo devuelve las dos operaciones de Ana y la de Marta. Añadiendo order by puedes ordenarlas por importe descendente:

=QUERY(A1:E6;"select B, D where C = 'Completado' order by D desc";1)

También puedes combinar condiciones:

=QUERY(A1:E6;"select B, D where C = 'Completado' and D >= 100 order by D desc";1)

Esta última consulta devuelve a Marta con 200 y a Ana con 100. Los números se comparan sin comillas; los valores de texto se escriben entre comillas simples dentro de la consulta.

Agrupar importes con GROUP BY y cambiar los encabezados

Para obtener el importe total por cliente, combina group by con sum():

=QUERY(A1:E6;"select B, sum(D) group by B label sum(D) 'Importe total'";1)

El resultado muestra 150 para Ana, 120 para Luis y 200 para Marta. En este caso se incluyen todos los estados porque no hemos añadido un filtro.

Si solo quieres sumar pedidos completados:

=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B order by sum(D) desc label sum(D) 'Ventas completadas'";1)

Puedes utilizar otras agregaciones, como avg(), count(), min() y max(). Cuando agrupes, las columnas seleccionadas que no estén agregadas deben formar parte de group by.

Recuerda que count(D) cuenta valores no nulos de D; no suma sus importes. Elige una columna adecuada si necesitas contar operaciones.

Usar PIVOT, LIMIT y OFFSET

La cláusula pivot transforma los valores de un campo en columnas. Por ejemplo, puedes distribuir las ventas completadas de cada cliente entre Web y Tienda:

=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B pivot E";1)

Para obtener únicamente los tres importes más altos, utiliza limit después de ordenar:

=QUERY(A1:E6;"select B, D order by D desc limit 3";1)

Con offset puedes omitir filas del resultado. Esta consulta salta los dos primeros registros de la ordenación y devuelve los dos siguientes:

=QUERY(A1:E6;"select B, D order by D desc limit 2 offset 2";1)

Las cláusulas deben respetar su orden: select, where, group by, pivot, order by, limit, offset, label y format.

Filtrar fechas y trabajar con texto

Si la columna A contiene fechas reconocidas por Sheets, puedes seleccionar las operaciones de octubre así:

=QUERY(A1:E6;"select * where A >= date '2026-10-01' and A < date '2026-11-01'";1)

El literal de fecha dentro de la consulta utiliza el formato año-mes-día, aunque las celdas muestren día/mes/año. Si el origen contiene texto que parece una fecha, tendrás que corregirlo antes.

Contenido exclusivo - Clic Aquí  Cómo extraer videos de DVD con Mac

Para trabajar con partes de las fechas existen year(), month() y day(). Ten en cuenta que month() empieza en 0 para enero y termina en 11 para diciembre. Al agrupar varios años, utiliza también el año para no mezclar meses equivalentes.

En los filtros de texto puedes emplear contains, starts with, ends with o matches. Las comparaciones distinguen mayúsculas y minúsculas; puedes normalizar el texto con lower() o upper().

Combinar datos de varias hojas con Col1 y Col2

Dos profesionales revisando tablas y gráficos en sus ordenadores.

Para apilar registros de dos pestañas del mismo archivo, puedes construir una matriz con llaves. Supongamos que ambas tienen las mismas cinco columnas y una fila de encabezados:

=QUERY({Ventas1!A1:E100;Ventas2!A2:E100};"select Col2, Col4 where Col2 is not null";1)

La primera referencia incluye los encabezados; la segunda empieza en la fila 2 para no repetirlos. Los rangos deben tener el mismo número de columnas y una estructura compatible.

En esta matriz, Col1 representa la primera columna y Col2 la segunda. Son posiciones dentro del conjunto consultado, no nombres de campos. Si reorganizas el contenido de las columnas, revisa la consulta para que siga seleccionando la información correcta.

Contenido exclusivo - Clic Aquí  Cómo encontrar la tarjeta SD en Windows 10

El punto y coma dentro de las llaves apila los rangos verticalmente. Esta operación no relaciona registros por un identificador ni equivale a realizar un JOIN entre tablas.

Errores frecuentes de QUERY y cómo localizarlos

  • Faltan valores: una columna con tipos mezclados puede perder los valores del tipo minoritario, que QUERY interpreta como nulos.
  • Error al analizar la consulta: revisa comillas rectas, identificadores, funciones y orden de las cláusulas.
  • No aparecen registros nuevos: comprueba que estén incluidos en el rango consultado. Una referencia hasta la fila 100 no incluye la 101.
  • La matriz no puede expandirse: deja libres las celdas donde debe aparecer el resultado y revisa si hay celdas combinadas.
  • Una fila de datos se interpreta como título: comprueba el argumento de encabezados.

No envuelvas la fórmula en SI.ERROR o IFERROR mientras estés buscando el fallo: podrías ocultar un problema de sintaxis y confundirlo con la ausencia de coincidencias.

Cuando la consulta ya funcione, si quieres tratar específicamente un error #N/A, puedes utilizar SI.ND:

=SI.ND(QUERY(A1:E6;"select B, D where C = 'Devuelto'";1);"Sin coincidencias")

Si el archivo mantiene los nombres de las funciones en inglés, utiliza IFNA. Esta función trata los errores de ese tipo; no demuestra por sí misma cuál ha sido su causa.

Para trabajar con seguridad, empieza con una selección sencilla y añade cada condición por separado. QUERY recalcula su resultado cuando cambian los datos de los que depende, pero no modifica el origen ni amplía automáticamente un rango cerrado.