Criando um ranking top 10 com SQL – funciona no Google Sheets

Foto do autor
Sávio Ribeiro 📅 26/09/2025 07:30
⏱️8 minutos de leitura

Recentemente, foi me solicitado um top 10 valores que mais apareciam em determinada coluna de dados. Era preciso criar um top 10 por contagem desses valores, e depois um top 10 considerando a soma de uma segunda coluna adicional.

De cara, eu lembrei que poderia resolver usando SQL. Sim, é possível usar SQL no Google Sheets. Vamos aprender a criar um ranking top 10 com SQL.

Essa é uma daquelas funcionalidades poderosas e “escondidas” que transformam sua planilha em uma ferramenta de análise de dados muito mais robusta. Se você já trabalhou com bancos de dados, vai se sentir em casa. Se não, não se preocupe: vamos te mostrar passo a passo.

Neste guia, vamos aprender a usar a função QUERY para criar rankings dinâmicos, uma tarefa comum para qualquer pessoa que analisa dados, seja de vendas, marketing, operações ou RH.

Ranking Top 10 com SQL: a função QUERY no Google Sheets

Antes de entrarmos no SQL, entenda que a função QUERY permite usar a Linguagem de Consulta de Banco de Dados do Google (Google Visualization API Query Language), que é muito semelhante ao SQL (Structured Query Language).

Em vez de aplicar vários filtros, criar tabelas dinâmicas complexas ou usar múltiplas funções SORT e FILTER, você pode escrever uma única instrução para obter exatamente o que precisa. É mais rápido, mais limpo e incrivelmente eficiente.

A função QUERY no Google Sheets segue a seguinte estrutura:

=QUERY(intervalo_de_dados; "consulta"; [retornar_cabecalho])

  • intervalo_de_dados: o intervalo de células que contém os dados a serem consultados.
    • Não precisa ser da mesma planilha, é possível usar IMPORTRANGE.
  • consulta: uma string que define a consulta SQL a ser realizada, utilizando a linguagem de consulta da API de Visualização do Google (uma variação do SQL).
  • retornar_cabecalho (opcional): o número de linhas no topo do intervalo que contêm os cabeçalhos das colunas. Use 0 para falso ou 1 para verdadeiro.

Como alguém que trabalha com dados há mais de 5 anos posso afirmar que dominar a função QUERY é um divisor de águas na sua produtividade e capacidade analítica no Sheets.

Base de dados: nosso cenário de exemplo

Vamos trabalhar com um conjunto de dados simples de uma empresa fictícia. Nossos dados contêm três colunas:

  • cliente: O nome do cliente.
  • unidade_mais_proxima: A loja que o cliente mais frequenta.
  • faturamento_cliente: O valor total gasto pelo cliente.

Ranking top 10 com SQL - Google Sheets: Base de dados

Nosso objetivo é duplo:

  1. Criar um Top 10 das unidades com o maior número de clientes.
  2. Criar um Top 10 das unidades que mais faturam.

Criando a consulta QUERY: maior número de clientes

Basicamente, usaremos a fórmula abaixo:

=QUERY(A1:C51; "SELECT B, COUNT(A) GROUP BY B ORDER BY COUNT(A) DESC LIMIT 10 LABEL COUNT(A) 'Qtd. Clientes'"; 1)

Resultado:

ranking count sql query google sheets

Vamos entender cada parte da consulta SQL:

  • SELECT B, COUNT(A): Selecione a coluna B (unidade) e conte (COUNT) os valores da coluna A (cliente) para cada unidade.
  • GROUP BY B: Agrupe os resultados pela coluna B. Isso faz com que a contagem seja feita para cada unidade única.
  • ORDER BY COUNT(A) DESC: Ordene (ORDER BY) o resultado pela contagem de clientes em ordem decrescente (DESC).
  • LIMIT 10: Limite o resultado final às 10 primeiras linhas.
  • LABEL COUNT(A) 'Qtd. Clientes': (Opcional, mas recomendado) Renomeia o cabeçalho da coluna de contagem para “Qtd. Clientes”, deixando a tabela mais profissional.

E se eu quiser o ranking inverso? O Top 10 com menos clientes?

Simples! Apenas troque DESC (decrescente) por ASC (ascendente) na sua consulta.

=QUERY(A1:C51; "SELECT B, COUNT(A) GROUP BY B ORDER BY COUNT(A) ASC LIMIT 10 LABEL COUNT(A) 'Qtd. Clientes'"; 1)

Criando a consulta QUERY: maior faturamento

Agora, o objetivo muda. Em vez de contar clientes, vamos somar (SUM) o faturamento (faturamento_cliente, coluna C) para cada unidade. A lógica é muito parecida.

=QUERY(A1:C51; "SELECT B, SUM(C) GROUP BY B ORDER BY SUM(C) DESC LIMIT 10 LABEL SUM(C) 'Faturamento Total'"; 1)

Resultado:

ranking sum sql query google sheets

Analisando a nova consulta:

  • SELECT B, SUM(C): Selecione a coluna B (unidade) e some (SUM) os valores da coluna C (faturamento).
  • GROUP BY B: Continue agrupando por unidade para garantir que a soma seja feita corretamente para cada uma.
  • ORDER BY SUM(C) DESC: Ordene o resultado pela soma do faturamento em ordem decrescente.
  • LIMIT 10: Mostre apenas as 10 unidades com maior faturamento.
  • LABEL SUM(C) 'Faturamento Total': Renomeie o cabeçalho para algo mais claro.

Assim como no exemplo anterior, para ver as 10 unidades com menor faturamento, basta trocar DESC por ASC.

Outras dicas para trabalhar com QUERY

  • Referências de Coluna: Dentro da QUERY, use as letras das colunas (A, B, C) e não as referências de células (A1, B2).
  • Textos Precisam de Aspas Simples: Se você precisar filtrar por um texto específico (ex: WHERE B = 'Unidade Centro'), o texto deve estar entre aspas simples.
  • Intervalos Dinâmicos: Para que sua QUERY inclua novas linhas de dados automaticamente, use intervalos abertos, como A1:C em vez de A1:C100.
  • Combine com Outras Funções: A QUERY pode ser aninhada com outras funções do Google Sheets, como IFERROR para tratar resultados vazios.

Conclusão

Você acaba de aprender a transformar o Google Sheets em uma ferramenta de consulta de dados ágil e poderosa. A função QUERY abre um leque de possibilidades para atender análises ad hoc (aquelas feitas sob demanda) e sem a necessidade de migrar seus dados para um sistema de banco de dados complexo.

Criar um ranking Top 10 é apenas o começo. Agora você pode explorar outras cláusulas como WHERE para filtrar dados, usar outras funções de agregação como AVG() (média) e MAX()/MIN() (máximo/mínimo) e construir análises cada vez mais sofisticadas.

Entender como QUERY pode responder perguntas de negócio, te entregando insights interessante dos seus dados, é verdadeiro divisor de águas. Continue investindo em dominar essa funcionalidade do Google Sheets – nem tudo se trata de construir aquela dashboard bonita e pomposa.

Sávio Ribeiro
Compartilho dicas sobre análise de dados, automação e programação de maneira simples e acessível, com foco especial nas ferramentas do Google Workspace. Conecte-se comigo no LinkedIn.

PARTICIPE DO NOSSO GRUPO NO WHATSAPP!
É 100% GRÁTIS!

Tópicos da publicação

Comentários