Promedio con QUERY en Google Sheets

Por el equipo de promedio.net · Actualizado el

QUERY permite sacar el promedio de cada grupo de una tabla con una sola fórmula, escrita en un lenguaje parecido a SQL: =QUERY(A1:C,"select B, avg(C) where B <> '' group by B",1) devuelve una tabla con cada valor de la columna B y el promedio de C para ese valor. Es una función exclusiva de Google Sheets y su nombre no se traduce. Si conoces SQL, la sintaxis te resultará familiar; si no, basta con aprender cuatro palabras: select, where, group by y label.

Sintaxis

=QUERY(datos, consulta, [encabezados])

ParteQué esEjemplo
datosEl rango, encabezados incluidosA1:C
consultaTexto entre comillas con la consulta"select B, avg(C) group by B"
encabezadosCuántas filas de encabezado tiene datos1
CláusulaPara quéEjemplo
avg(C)Promedio de la columna Cselect avg(C)
group by BUn promedio por cada valor de Bselect B, avg(C) group by B
whereFiltrar filas antes de promediarwhere C > 0 and B <> ''
order byOrdenar el resultadoorder by avg(C) desc
labelCambiar el encabezado «avg Importe»label avg(C) 'Promedio'
formatDecimales del resultadoformat avg(C) '0.00'

Dentro de la consulta, las columnas se nombran por su letra (A, B, C) y los textos van entre comillas simples: where B = 'Centro'.

Paso a paso

  1. Comprueba que cada columna tenga un solo tipo de dato: números en la de importes, fechas en la de fechas. QUERY decide el tipo por la mayoría y trata como vacíos los valores del tipo minoritario.
  2. Deja espacio libre a la derecha y debajo de la celda de la fórmula: el resultado se desborda.
  3. Escribe =QUERY(A1:C,"select B, avg(C) where B <> '' group by B",1).
  4. Agrega order by y label al final de la consulta, en ese orden: group by, luego order by, luego label, luego format.
  5. Si la consulta tiene un error, Sheets muestra #VALUE! con un mensaje; pasa el cursor por encima para leer qué cláusula falló.

Ejemplos resueltos

Datos de ventas (A1:C8): Fecha, Sucursal, Importe.

FechaSucursalImporte
5/1/2026Centro820
12/1/2026Satélite640
20/1/2026Centro910
2/2/2026Polanco1,150
9/2/2026Satélite700
16/2/2026Polanco1,050
23/2/2026Centro760

Ejemplo 1: promedio por sucursal, ordenado

=QUERY(A1:C,"select B, avg(C) where B <> '' group by B order by avg(C) desc label avg(C) 'Promedio'",1)

Resultado:

SucursalPromedio
Polanco1100
Centro830
Satélite670

Polanco promedia (1,150 + 1,050) / 2; Centro, (820 + 910 + 760) / 3; Satélite, (640 + 700) / 2. El where B <> '' evita una fila vacía en el resultado por las filas en blanco del rango abierto (en columnas de texto, las celdas vacías se comparan con ''; en columnas de números o fechas se usa is not null, como en el ejemplo 2). Al agregar ventas debajo, la tabla se recalcula sola.

Ejemplo 2: promedio por mes

=QUERY(A1:C,"select month(A)+1, avg(C) where A is not null group by month(A)+1 label month(A)+1 'Mes', avg(C) 'Promedio'",1)

Resultado: mes 1 con 790 ((820 + 640 + 910) / 3) y mes 2 con 915 ((1,150 + 700 + 1,050 + 760) / 4). El +1 es necesario porque month() numera enero como 0. Si tus datos abarcan varios años, agrupa también por year(A): group by year(A), month(A)+1.

Ejemplo 3: promedio y conteo, sin ceros

Si hubiera ventas registradas con 0 (devoluciones anotadas como cero, por ejemplo), puedes excluirlas y mostrar cuántas ventas respaldan cada promedio:

=QUERY(A1:C,"select B, avg(C), count(C) where C > 0 group by B label avg(C) 'Promedio', count(C) 'Ventas'",1)

Con los datos de la tabla, la columna Ventas muestra 3 para Centro y 2 para Polanco y Satélite. Ver el conteo junto al promedio es la mejor defensa contra conclusiones basadas en uno o dos datos.

Errores comunes

QUERY hace en una fórmula lo que una tabla dinámica de Sheets hace con el ratón. Si ya usas bases de datos, la misma lógica está explicada en promedio en SQL. Para promediar datos de otro archivo con QUERY, mira promedio de otro archivo con IMPORTRANGE.

Preguntas frecuentes

¿Por qué QUERY me da los meses del 0 al 11?

Porque la función month() del lenguaje de consultas numera enero como 0. Escribe month(A)+1 para obtener 1 a 12.

Fuentes

  1. Ayuda de Editores de Documentos de Google, «QUERY». Sintaxis QUERY(datos, consulta, [encabezados]) y ejemplos con avg y group by. Consultado el 11 de noviembre de 2026.