Para montar um relatório que se monta e se atualiza sozinho no Excel, sem Tabela Dinâmica nem gráfico, encadeie três funções de matriz dinâmica dentro de uma única fórmula: AGRUPARPOR para resumir os dados, CLASSIFICAR para ordenar o resultado, e ÍNDICE (ou o próprio corte de matriz) para limitar a um “Top N” — tudo isso recalculando sozinho sempre que a base de dados original mudar.
Esse tipo de relatório é diferente de um dashboard visual completo, que combina gráficos, indicadores e Segmentação de Dados — aqui o foco é só o resultado em números e texto, 100% gerado por fórmula, sem nenhum elemento visual manual para configurar. É também um passo além do que mostramos no nosso artigo sobre matrizes dinâmicas avançadas, que apresenta o conceito de encadear duas funções (CLASSIFICAR dentro de ÚNICO) com um único exemplo simples — aqui vamos construir um relatório de ranking completo, com múltiplas colunas, do zero.
Você já teve que apresentar um “Top 3 vendedores do mês” ou um “ranking das regiões que mais venderam”, e para isso teve que ordenar manualmente uma tabela, copiar as três primeiras linhas para outro lugar, e refazer tudo de novo no mês seguinte?
Esse processo manual de resumir, ordenar e recortar as primeiras linhas é repetitivo e propenso a erro — principalmente quando esquece de atualizar o recorte depois que a base de dados de origem muda, deixando o relatório apresentado com números desatualizados.
Neste artigo iremos mostrar como montar, passo a passo, um relatório de ranking que se atualiza sozinho, encadeando AGRUPARPOR, CLASSIFICAR e ÍNDICE numa única fórmula.
A base de dados do exemplo
Considere a base de vendas abaixo, com vendedor, região e valor de cada venda:
| Vendedor | Região | Valor |
|---|---|---|
| Ana | Sul | 12.400 |
| Bruno | Norte | 8.900 |
| Carla | Sul | 15.100 |
| Diego | Nordeste | 6.700 |
| Elis | Norte | 10.200 |
| Fábio | Sul | 9.800 |
O objetivo é montar um relatório que mostre automaticamente os 3 vendedores que mais venderam no total, já ordenados do maior para o menor, sem precisar refazer nada manualmente quando a base crescer.
Passo 1: resumir o total por vendedor com AGRUPARPOR
O primeiro passo é resumir a base, somando o total de cada vendedor:
=AGRUPARPOR(A2:A7; C2:C7; SOMA)
Esse resultado já é uma matriz dinâmica, mas ainda não está ordenado — os vendedores aparecem na ordem em que surgem na base original, não do maior para o menor total.
Passo 2: encadear o CLASSIFICAR por cima do resultado
Em vez de colocar o resultado do AGRUPARPOR numa célula separada para depois ordenar, encadeie a CLASSIFICAR diretamente por cima, usando o resultado do AGRUPARPOR como entrada:
=CLASSIFICAR(AGRUPARPOR(A2:A7; C2:C7; SOMA); 2; -1)
O segundo argumento da CLASSIFICAR (2) indica que a ordenação deve considerar a segunda coluna do resultado (o total), e o terceiro argumento (-1) indica ordem decrescente — do maior valor para o menor. Como o AGRUPARPOR devolve duas colunas (vendedor e total), o CLASSIFICAR reordena as duas juntas, mantendo cada vendedor ao lado do seu total correto.
Passo 3: limitando o resultado a um Top 3
Com o resultado já ordenado, falta recortar só as três primeiras linhas. Isso é feito envolvendo a fórmula inteira com ÍNDICE, usando SEQUÊNCIA para gerar as linhas 1, 2 e 3:
=ÍNDICE(CLASSIFICAR(AGRUPARPOR(A2:A7; C2:C7; SOMA); 2; -1); SEQUÊNCIA(3); {1;2})
A SEQUÊNCIA(3) gera os números 1, 2 e 3, que a ÍNDICE usa para pegar apenas as três primeiras linhas do resultado ordenado; o {1;2} pede as duas colunas (vendedor e total) inteiras. O resultado final derrama automaticamente:
| Vendedor | Total vendido |
|---|---|
| Carla | 15.100 |
| Ana | 12.400 |
| Elis | 10.200 |
Se um novo vendedor for adicionado à base original com um total maior que os atuais, ele entra automaticamente no Top 3 assim que a fórmula recalcular — sem precisar tocar em nada.
Variação: filtrando antes de resumir
Para restringir o relatório a uma condição adicional — por exemplo, um ranking só da região Sul — encadeie também a função FILTRO, como primeiro passo de todos, antes do AGRUPARPOR:
=ÍNDICE(CLASSIFICAR(AGRUPARPOR(FILTRO(A2:A7;B2:B7=”Sul”); FILTRO(C2:C7;B2:B7=”Sul”); SOMA); 2; -1); SEQUÊNCIA(3); {1;2})
Essa fórmula filtra primeiro só as vendas da região Sul, depois resume por vendedor, ordena do maior para o menor, e recorta o Top 3 — tudo em uma única célula, sem nenhuma tabela auxiliar intermediária.
Por que encadear em vez de usar células intermediárias
É perfeitamente possível (e às vezes mais fácil de entender) quebrar esse processo em três células separadas: uma para o AGRUPARPOR, outra para o CLASSIFICAR referenciando a primeira, e uma terceira para o recorte com ÍNDICE. A vantagem de encadear tudo numa fórmula só é não deixar resultados intermediários “soltos” na planilha, ocupando espaço e podendo ser movidos ou apagados por engano. A desvantagem é que a fórmula fica mais longa e um pouco mais difícil de auditar de cabeça — vale escolher a abordagem de acordo com quem mais vai mexer nessa planilha depois de você.
Disponibilidade
AGRUPARPOR, CLASSIFICAR, FILTRO, ÍNDICE e SEQUÊNCIA estão disponíveis no Microsoft 365, Excel para a Web e Excel para Mac. O AGRUPARPOR especificamente exige uma versão mais recente do 365 (lançado em 2024); as demais funções da fórmula já estão disponíveis desde o Excel 2021. Nenhuma delas funciona em Excel 2019 ou anterior. No Google Sheets, o mesmo encadeamento é possível combinando QUERY ou SORT com FILTER, embora a sintaxe e o comportamento não sejam idênticos.
Erros comuns ao encadear essas funções
Um erro comum é esquecer que o segundo argumento da CLASSIFICAR se refere à posição da coluna dentro do resultado do AGRUPARPOR, não da tabela original — numa base com mais colunas, é fácil apontar para a coluna errada e ordenar pelo critério errado sem perceber. Outro erro frequente é usar um número fixo de linhas no ÍNDICE (como 3) numa base pequena demais, o que gera erro #REF! se o resultado do AGRUPARPOR tiver menos linhas do que o Top N pedido.
Perguntas frequentes
Esse relatório automático substitui um dashboard completo?
Não necessariamente. Este artigo mostra como montar um bloco de relatório em texto/números que se atualiza sozinho, só com fórmulas encadeadas — sem gráficos, sem Segmentação de Dados, sem elementos visuais. Se o que você precisa é um painel visual completo, com gráficos e filtros interativos, o passo a passo certo é o nosso guia de como criar um dashboard no Excel do zero.
Preciso saber AGRUPARPOR, CLASSIFICAR e FILTRO separadamente antes de encadear as três?
Ajuda bastante, mas não é obrigatório. O importante para entender o encadeamento é saber que cada uma dessas funções recebe uma matriz e devolve outra matriz — então o resultado “derramado” de uma pode entrar diretamente como argumento de entrada da próxima, sem precisar passar por uma célula intermediária.
O relatório atualiza automaticamente se eu adicionar uma linha nova na base de dados?
Sim, desde que a base de dados esteja formatada como Tabela (Ctrl+T) ou que os intervalos usados na fórmula já incluam algumas linhas extras em branco para acomodar crescimento. Como as três funções envolvidas são de matriz dinâmica, o resultado recalcula sozinho sempre que os dados de origem mudam — não é preciso apertar nenhum botão de atualizar.
Compartilhe ou Comente
Se você curtiu esse artigo aonde mostramos como montar um relatório de ranking que se atualiza sozinho encadeando AGRUPARPOR, CLASSIFICAR e ÍNDICE, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.
Que tipo de ranking você gostaria de automatizar na sua planilha — vendedores, produtos, regiões? Prefere encadear tudo numa fórmula só ou quebrar em células separadas? Conta para nós nos comentários!