- A função QUERY permite filtrar, classificar e resumir dados sem modificar o intervalo original.
- Os cabeçalhos e os tipos de dados influenciam o resultado, especialmente quando faltam valores.
- Os arrays combinados usam identificadores posicionais, que devem ser revisados caso a estrutura seja alterada.
- É aconselhável diagnosticar os erros antes de ocultá-los, para não confundir uma fórmula incorreta com uma consulta que não tenha resultados.
La Função QUERY do 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.
Sintaxe QUERY no Google Sheets e primeiro exemplo

A estrutura da função possui três argumentos:
=QUERY(datos; consulta; encabezados)
- dados: O intervalo ou matriz que você deseja consultar.
- consulta: As instruções entre aspas ou uma referência a uma célula que as contém.
- títulos: O número de linhas iniciais no intervalo que são cabeçalhos. Use 1 se houver uma linha de cabeçalho e 0 caso contrário. Se você omitir ou inserir -1, o Planilhas tentará adivinhar.
Nos exemplos a seguir, usaremos uma tabela com esta estrutura:
| A: Data | B: Cliente | C: Estado | D: Quantidade | E: Canal |
|---|---|---|---|---|
| 01/10/2026 | Ann | Preenchido | 100 | Web |
| 02/10/2026 | Luís | Brinco | 80 | Loja |
| 03/10/2026 | Ann | Preenchido | 50 | Loja |
| 04/10/2026 | Marta | Preenchido | 200 | Web |
| 05/10/2026 | Luís | Cancelado | 40 | Web |
Os cabeçalhos estão na linha 1 e os cinco registros ocupam as linhas 2 a 6. Para retornar a tabela inteira, escreva a fórmula em uma área vazia, por exemplo, G1:
=QUERY(A1:E6;"select *";1)
Os exemplos usam ponto e vírgula entre argumentosSe o seu arquivo usa vírgulas, ajuste esses separadores. As vírgulas no texto da consulta, como em select B, DEles devem ser preservados.
Selecione colunas, filtre e classifique os resultados.

A cláusula selecionar Isso permite que você escolha as colunas. Para exibir apenas o cliente e o valor:
=QUERY(A1:E6;"select B, D";1)
Com onde Você pode limitar os registros a pedidos concluídos:
=QUERY(A1:E6;"select B, D where C = 'Completado'";1)
O exemplo retorna as operações de Ana e de Marta. Adicionando ordenar por Você pode ordená-los por valor decrescente:
=QUERY(A1:E6;"select B, D where C = 'Completado' order by D desc";1)
Você também pode combinar condições:
=QUERY(A1:E6;"select B, D where C = 'Completado' and D >= 100 order by D desc";1)
Esta última consulta retorna Marta com 200 e Ana com 100. Os números são comparados sem aspas; os valores de texto são escritos entre aspas simples dentro da consulta.
Agrupe os valores com GROUP BY e altere os cabeçalhos.
Para obter o valor total por cliente, combine agrupar por com soma():
=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)
Você pode usar outras agregações, como avg(), count(), min() y max()Ao agrupar, as colunas selecionadas que não estão agregadas devem fazer parte de group by.
Lembre-se disso count(D) conta os valores não nulos de D.Não soma os valores. Selecione a coluna apropriada se precisar contar as transações.
Use PIVÔ, LIMITE e DESLOCAMENTO.
A cláusula pivô Transforma os valores de um campo em colunas. Por exemplo, você pode distribuir as vendas concluídas de cada cliente entre a Web e a Loja:
=QUERY(A1:E6;"select B, sum(D) where C = 'Completado' group by B pivot E";1)
Para obter apenas os três valores mais altos, use limite após fazer o pedido:
=QUERY(A1:E6;"select B, D order by D desc limit 3";1)
Com desvio Você pode omitir linhas do resultado. Esta consulta ignora os dois primeiros registros na classificação e retorna os dois seguintes:
=QUERY(A1:E6;"select B, D order by D desc limit 2 offset 2";1)
As cláusulas devem respeitar a sua ordem: select, where, group by, pivot, order by, limit, offset, label y format.
Filtrar datas e trabalhar com texto
Se a coluna A contiver datas reconhecidas pelo Planilhas Google, você poderá selecionar as transações de outubro da seguinte forma:
=QUERY(A1:E6;"select * where A >= date '2026-10-01' and A < date '2026-11-01'";1)
O campo de data na consulta usa o formato ano-mês-dia, aunque las celdas muestren día/mes/año. Si el origen contiene texto que parece una fecha, tendrás que corregirlo antes.
Para trabajar con partes de las fechas existen year(), month() y day()Observe que O mês() começa em 0 para janeiro e termina em 11 para dezembro.. 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 matchesAs comparações diferenciam maiúsculas de minúsculas; você pode normalizar o texto com lower() o upper().
Combine dados de várias planilhas usando Col1 e Col2.

Para empilhar registros de duas abas do mesmo arquivo, você pode construir uma matriz com chaves. Vamos supor que ambas tenham as mesmas cinco colunas e uma linha de cabeçalho:
=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 a primeira coluna e Col2 a 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.
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.
Erros comuns em consultas e como encontrá-los
- Valores ausentes: Uma coluna com tipos mistos pode perder os valores do tipo minoritário, que a consulta interpreta como nulo.
- Erro ao analisar a consulta: Verifique aspas retas, identificadores, funções e ordem das cláusulas.
- Nenhum novo registro foi encontrado: Verifique se eles estão incluídos no intervalo consultado. Uma referência até a linha 100 não inclui a linha 101.
- A matriz não pode ser expandida: Deixe em branco as células onde o resultado deve aparecer e verifique se há alguma célula mesclada.
- Uma linha de dados é interpretada como um título: Verifique o argumento do cabeçalho.
Não envolva a fórmula em SE.ERRO ou SEERRO 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, você pode usar SI.ND:
=SI.ND(QUERY(A1:E6;"select B, D where C = 'Devuelto'";1);"Sin coincidencias")
Se o arquivo mantiver os nomes das funções em inglês, use 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 Não modifica a origem nem expande automaticamente um intervalo fechado..
Sou um entusiasta da tecnologia que transformou seus interesses “geek” em profissão. Passei mais de 10 anos da minha vida usando tecnologia de ponta e mexendo em todos os tipos de programas por pura curiosidade. Agora me especializei em informática e videogames. Isto porque há mais de 5 anos escrevo para diversos sites sobre tecnologia e videojogos, criando artigos que procuram dar-lhe a informação que necessita numa linguagem compreensível para todos.
Se você tiver alguma dúvida, meu conhecimento vai desde tudo relacionado ao sistema operacional Windows até Android para celulares. E meu compromisso é com você, estou sempre disposto a dedicar alguns minutos e te ajudar a resolver qualquer dúvida que você possa ter nesse mundo da internet.