Se existe uma função que transforma quem usa o Google Planilhas, é a QUERY. Em uma só fórmula, você filtra linhas, escolhe colunas, soma por grupo, ordena e limita o resultado. Parece complicado, mas a linguagem usa poucos comandos e uma lógica de leitura quase em português. É a ferramenta certa para relatórios e painéis.
Como a QUERY é montada
A função tem três argumentos:
=QUERY(dados; consulta; [cabeçalhos])
- Dados: o intervalo de origem, como A1:D100.
- Consulta: um texto, entre aspas duplas, com a instrução.
- Cabeçalhos: quantas linhas do topo são títulos (normalmente 1). Se omitir, o programa tenta adivinhar, o que pode atrapalhar. Informe sempre.
Dentro da consulta, as colunas são indicadas por letras (A, B, C), conforme a posição no intervalo informado. Os comandos da consulta são escritos em inglês, mesmo no Google Planilhas em português: select, where, group by e assim por diante. Já o nome da função e o separador de argumentos seguem o idioma e a região da planilha, normalmente o ponto e vírgula no Brasil.
O comando select
Escolhe as colunas que aparecem. Com uma base em que A é a data, B o canal, C o produto e D o valor:
=QUERY(A1:D100; "select B, D"; 1)
Mostra só as colunas B e D. Para todas, use select *. Se você omitir o select, todas as colunas aparecem.
O comando where
Filtra as linhas. É o equivalente da função FILTRO:
=QUERY(A1:D100; "select * where B = 'Shopee'"; 1)
Texto vai entre aspas simples dentro da consulta. Números não precisam de aspas:
=QUERY(A1:D100; "select * where D > 100"; 1)
Para combinar condições, use and e or:
=QUERY(A1:D100; "select * where B = 'Shopee' and D > 100"; 1)
Para texto parcial, use contains:
=QUERY(A1:D100; "select * where C contains 'camiseta'"; 1)
O comando group by
Agrupa e resume. É onde a QUERY ganha uma tabela dinâmica em forma de fórmula. Para somar o valor por canal:
=QUERY(A1:D100; "select B, sum(D) group by B"; 1)
As funções de resumo disponíveis são sum (soma), count (contagem), avg (média), min e max. Toda coluna no select que não esteja dentro de uma função de resumo precisa aparecer no group by. Se aparecer um erro dizendo isso, é o motivo.
Para contar pedidos por canal e somar o valor:
=QUERY(A1:D100; "select B, count(C), sum(D) group by B"; 1)
Se você já conhece tabela dinâmica, a ideia é semelhante, com a vantagem de ficar escrita em uma fórmula que você copia e ajusta.
order by e limit
order by ordena o resultado. Adicione desc para decrescente:
=QUERY(A1:D100; "select B, sum(D) group by B order by sum(D) desc"; 1)
limit corta o número de linhas. Para um top 5 de canais por valor:
=QUERY(A1:D100; "select B, sum(D) group by B order by sum(D) desc limit 5"; 1)
Em uma só fórmula, você tem um ranking. Para a mesma ordenação por funções separadas, veja função CLASSIFICAR.
label: renomear colunas
O resultado de funções de resumo sai com nomes como “sum Valor”. Use label para trocar:
=QUERY(A1:D100; "select B, sum(D) group by B label sum(D) 'Total vendido'"; 1)
Usando valores de outras células
Em vez de fixar o canal na consulta, deixe-o numa célula (por exemplo F1) e concatene com o símbolo &:
=QUERY(A1:D100; "select * where B = '" & F1 & "'"; 1)
Troque o conteúdo de F1 e o resultado muda. Repare nas aspas simples ao redor de F1 no meio da consulta; sem elas, o texto não funciona. Com uma lista suspensa em F1, você tem um filtro de painel.
Para números, não precisa de aspas simples: "select * where D > " & F1.
Datas na QUERY
Datas na consulta têm um formato próprio, que exige a palavra date e o formato ano-mês-dia entre aspas simples:
=QUERY(A1:D100; "select * where A >= date '2026-01-01'"; 1)
Esse formato é independente da configuração regional. Escrever a data em dia/mês/ano dentro da consulta não funciona. Para montar a data a partir de uma célula, converta-a em texto com o formato certo usando a função TEXTO, descrita em função TEXTO.
Juntando abas ou arquivos
Se a base vem de outro arquivo, combine com IMPORTRANGE: o primeiro argumento da QUERY passa a ser a importação. O passo a passo está em IMPORTRANGE: puxar dados de outra planilha. Nesse caso, as colunas na consulta usam Col1, Col2, Col3 em vez de letras.
Erros comuns
- Aspas: consulta em aspas duplas, textos em simples. Misturar é a causa número um de erro.
- Colunas com tipos misturados: se uma coluna tem números e texto, a QUERY pode descartar o que não for do tipo majoritário.
- Cabeçalho errado: informe o terceiro argumento.
- Letras de colunas: elas se referem ao intervalo informado, não à planilha.
Quando preferir outra função
A QUERY é poderosa, mas nem sempre é a mais simples. Para um filtro básico, a função FILTRO é mais direta. Para uma soma com um ou dois critérios, SOMASES resolve em uma linha. Use QUERY quando precisar de agrupamento, ordenação e limite no mesmo resultado, ou quando quiser reorganizar colunas. Tenha em mente também que a leitura da fórmula exige familiaridade com a linguagem: se outras pessoas vão manter a planilha, deixe um comentário ou uma célula ao lado explicando em português o que a consulta faz. Isso economiza horas quando alguém precisar ajustar o relatório meses depois.
Por onde começar
Escolha uma base sua e escreva três consultas: um filtro com where, uma soma por grupo com group by e um top 5 com order by e limit. Com isso você já substitui boa parte do trabalho que antes pedia filtros manuais e tabelas dinâmicas. Para ir além, o conhecimento de SQL para iniciantes ajuda a entender a lógica por trás.