A AGRUPARPOR não agrupa datas completas diretamente por mês ou ano — é preciso criar antes uma coluna auxiliar com a transformação desejada, como =TEXTO(A2;”mmm/aaaa”) para mês ou =ANO(A2) para ano, e usar essa coluna como campo de agrupamento na fórmula.
Análises temporais são uma das aplicações mais comuns de agrupamento de dados: somar vendas por mês, contar pedidos por trimestre, calcular a receita anual. A função AGRUPARPOR no Excel não tem uma opção nativa para “agrupar por mês” diretamente em uma coluna de data completa — datas individuais (15/03/2025, 16/03/2025, 17/03/2025) seriam tratadas como categorias diferentes. Para agrupar corretamente por períodos de tempo, é necessário transformar a data antes de passá-la para a AGRUPARPOR. Neste artigo iremos mostrar como usar AGRUPARPOR com datas para agrupar por mês, trimestre e ano no Excel.
Por que agrupar diretamente pela coluna de data não funciona
Se você tem uma coluna de datas completas (com dia, mês e ano) e tenta usar AGRUPARPOR diretamente nessa coluna, cada data única vira uma categoria separada. Uma planilha com vendas diárias ao longo de um ano teria até 365 categorias diferentes — uma para cada dia — em vez dos 12 agrupamentos mensais que você provavelmente deseja. Isso acontece porque a AGRUPARPOR trata cada valor distinto da coluna de agrupamento como uma categoria única, e duas datas diferentes (mesmo que do mesmo mês) são tecnicamente valores distintos.
Para agrupar por mês, trimestre ou ano, você precisa primeiro transformar a coluna de data completa em uma representação do período desejado — extrair apenas o mês e o ano, ou apenas o trimestre, ou apenas o ano — e então usar essa coluna transformada como o campo de agrupamento na AGRUPARPOR. Essa transformação pode ser feita com uma coluna auxiliar ou diretamente dentro da fórmula AGRUPARPOR usando funções de data aninhadas.
A abordagem mais simples e mais flexível é criar uma coluna auxiliar com a transformação desejada e referenciar essa coluna na AGRUPARPOR. Isso mantém a fórmula principal mais legível e facilita ajustes futuros na lógica de agrupamento temporal sem precisar reescrever a fórmula AGRUPARPOR inteira.
Agrupando por mês e ano
Para agrupar por mês (mantendo a distinção entre anos diferentes, já que “março” de 2024 e “março” de 2025 são períodos distintos), crie uma coluna auxiliar com a fórmula: =TEXTO(A2;”mmm/aaaa”). Essa fórmula converte a data completa em um texto como “mar/2025” ou “abr/2025” — agrupando todas as datas do mesmo mês e ano sob a mesma categoria de texto. Arraste essa fórmula para todas as linhas da tabela de dados.
Com a coluna auxiliar criada (digamos, na coluna F), use AGRUPARPOR referenciando essa coluna em vez da coluna de data original: =AGRUPARPOR(F2:F500;C2:C500;SOMA). O resultado mostra cada combinação única de mês/ano como uma categoria, com a soma de vendas correspondente. Como o TEXTO formata como “mmm/aaaa”, os meses aparecem ordenados alfabeticamente por padrão, o que pode não corresponder à ordem cronológica — para garantir a ordem cronológica correta, use uma coluna auxiliar adicional com o primeiro dia do mês como data real (=DATA(ANO(A2);MÊS(A2);1)) e ordene por essa coluna.
Para casos onde você quer apenas o mês (sem distinguir o ano, somando todos os meses de março de todos os anos juntos, por exemplo, para análise de sazonalidade), use: =TEXTO(A2;”mmmm”) — que retorna apenas o nome do mês por extenso, ignorando completamente o ano. Essa abordagem é útil especificamente para análises de padrões sazonais que se repetem ano após ano.
Agrupando por trimestre
Para agrupar por trimestre, calcule o número do trimestre a partir do mês da data com a fórmula: =ROUNDUP(MÊS(A2)/3;0) ou, em português, =ARREDONDAR.PARA.CIMA(MÊS(A2)/3;0). Essa fórmula divide o número do mês por 3 e arredonda para cima — janeiro a março (meses 1-3) retornam trimestre 1, abril a junho (meses 4-6) retornam trimestre 2, e assim sucessivamente. Combine com o ano para distinguir trimestres de anos diferentes: =”T”&ARREDONDAR.PARA.CIMA(MÊS(A2)/3;0)&”/”&ANO(A2) produz textos como “T1/2025”, “T2/2025” etc.
Com essa coluna auxiliar de trimestre criada, use AGRUPARPOR normalmente: =AGRUPARPOR(G2:G500;C2:C500;SOMA), onde G é a coluna com os textos de trimestre. O resultado agrupa as vendas por trimestre, com cada trimestre de cada ano tratado como uma categoria separada. Para análises trimestrais comparativas entre anos diferentes (comparar o T1 de 2024 com o T1 de 2025, por exemplo), use apenas o número do trimestre sem o ano como campo de agrupamento adicional, combinado com o ano em uma segunda coluna de agrupamento — explorando o agrupamento por múltiplos campos da AGRUPARPOR.
Agrupando por ano
Para agrupar apenas por ano (o nível mais agregado de análise temporal), a transformação é a mais simples de todas: =ANO(A2) extrai apenas o número do ano da data completa. Use essa coluna como campo de agrupamento: =AGRUPARPOR(H2:H500;C2:C500;SOMA), onde H contém os anos extraídos. O resultado mostra o total de vendas por ano — uma visão de altíssimo nível da evolução do negócio ao longo dos anos disponíveis nos dados.
Para uma análise hierárquica completa que mostra ano, trimestre e mês ao mesmo tempo, combine as três transformações em colunas separadas e use todas como campos de agrupamento simultâneos na AGRUPARPOR: =AGRUPARPOR(H2:J500;C2:C500;SOMA), onde H, I e J contêm respectivamente o ano, o trimestre e o mês. O resultado é uma tabela com a estrutura hierárquica completa — exatamente como você teria expandindo os níveis de data em uma Tabela Dinâmica, mas como uma fórmula que atualiza automaticamente.
Perguntas frequentes
Por que agrupar diretamente por uma coluna de data completa não funciona com AGRUPARPOR?
Porque cada data única vira uma categoria separada — uma planilha com vendas diárias geraria até 365 categorias diferentes em vez dos agrupamentos mensais desejados.
Como agrupar vendas por mês e ano com AGRUPARPOR?
Crie uma coluna auxiliar com =TEXTO(A2;”mmm/aaaa”) e use essa coluna como campo de agrupamento na fórmula, como em =AGRUPARPOR(F2:F500;C2:C500;SOMA).
Como calcular o trimestre de uma data para usar como campo de agrupamento?
Use =ARREDONDAR.PARA.CIMA(MÊS(A2)/3;0), que divide o número do mês por 3 e arredonda para cima, retornando 1 para janeiro-março, 2 para abril-junho, e assim por diante.
Se você curtiu esse artigo onde mostramos como usar a AGRUPARPOR com datas para agrupar por mês, trimestre e ano no Excel, 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.
Garantindo a ordem cronológica correta no resultado
Um detalhe importante ao agrupar por períodos de tempo formatados como texto (como “mar/2025”) é que o resultado da AGRUPARPOR pode não respeitar a ordem cronológica automaticamente — ele pode ordenar alfabeticamente, colocando “abr/2025” antes de “mar/2025” mesmo que março venha antes de abril cronologicamente. Para garantir a ordem cronológica correta, a estratégia mais robusta é manter uma coluna auxiliar com a data real do primeiro dia do período (não o texto formatado) e usar o argumento de ordenação da AGRUPARPOR referenciando essa coluna numérica.
Alternativamente, gere o texto do período de forma que a ordenação alfabética coincida com a cronológica — por exemplo, usando o formato “aaaa-mm” (ano primeiro, depois mês com dois dígitos) em vez de “mmm/aaaa”. Um texto como “2025-03” ordena corretamente antes de “2025-04” tanto alfabética quanto cronologicamente, porque o ano vem primeiro e o mês está em formato numérico de dois dígitos. Essa técnica de formatação ano-mês é uma prática comum em análise de dados justamente para evitar esse tipo de problema de ordenação em textos que representam datas.