SOMASES com duas condições de data no Excel: como somar por período e categoria ao mesmo tempo

Analisar dados financeiros ou operacionais por período é uma das tarefas mais comuns em qualquer empresa. E quando essa análise por período precisa ser combinada com outra dimensão — categoria, região, produto, responsável — é que o SOMASES com duas condições mostra todo o seu valor. A combinação de uma condição de data com uma condição de texto ou número é um dos usos mais frequentes do SOMASES e também um dos que mais gera dúvidas, principalmente por conta das regras específicas para usar datas como critérios. Neste artigo iremos mostrar como usar o SOMASES com duas condições envolvendo datas no Excel de forma correta e sem erros.

Como o Excel trata datas em critérios de SOMASES

Antes de criar o SOMASES com critério de data, é fundamental entender como o Excel armazena datas internamente. Para o Excel, uma data é um número — 01/01/2025 é armazenado como 45658 (o número de dias desde 01/01/1900). Quando você usa uma data como critério no SOMASES, o Excel compara os números seriais das datas, não os textos que aparecem formatados nas células. Isso tem uma implicação importante: se você digitar uma data como texto (colocar o valor 01/01/2025 entre aspas como string), o Excel pode não reconhecê-la como data e o critério não funcionará corretamente.

A forma correta de usar datas em critérios de SOMASES é através da função DATA() que constrói um valor de data válido: DATA(ano;mês;dia). Para somar os valores de janeiro de 2025: você precisa de duas condições de data — uma que verifica se a data é maior ou igual a 01/01/2025 e outra que verifica se é menor ou igual a 31/01/2025. A fórmula: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(2025;1;1); B2:B100; “<=”&DATA(2025;1;31)). Aqui há três condições: a categoria em A, a data de início em B e a data de fim em B — somando os valores em C para a categoria Alimentação em janeiro de 2025.

Uma forma ainda mais elegante de definir o último dia do mês sem precisar saber quantos dias ele tem é usar a função FIMMÊS: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(2025;1;1); B2:B100; “<=”&FIMMÊS(DATA(2025;1;1);0)). O FIMMÊS(data;0) retorna o último dia do mês da data especificada — para janeiro de 2025, retorna 31/01/2025. Para fevereiro, retornaria 28/02/2025 ou 29/02 em anos bissextos automaticamente. Usar FIMMÊS em vez de especificar o último dia manualmente elimina erros de meses com 28, 29, 30 ou 31 dias.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

SOMASES com duas condições: data e categoria

O cenário mais comum de SOMASES com data e categoria é: “quanto foi gasto na categoria X no mês Y?”. Essa pergunta aparece em planilhas de controle financeiro pessoal, em relatórios de custos departamentais e em análises de desempenho comercial. A estrutura da tabela geralmente tem: uma coluna de data do lançamento, uma coluna de categoria ou tipo, e uma coluna de valor.

Para esse cenário com uma coluna de data (B), uma coluna de categoria (A) e uma coluna de valor (C), a fórmula que responde “quanto foi gasto em Alimentação em janeiro de 2025” é: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(2025;1;1); B2:B100; “<=”&FIMMÊS(DATA(2025;1;1);0)). O primeiro par de critério (A e “Alimentação”) filtra pela categoria. O segundo par (B e a data de início) filtra pelo limite inferior do período. O terceiro par (B e a data de fim) filtra pelo limite superior. Todos os três critérios precisam ser VERDADEIROS simultaneamente para que o valor seja somado.

Para criar uma tabela de análise mensal automática — onde cada linha representa um mês e a fórmula calcula o total por categoria de cada mês —, estruture a tabela com o ano e mês de referência em colunas e construa a DATA() dinamicamente a partir dessas células: =SOMASES($C$2:$C$100; $A$2:$A$100; $E2; $B$2:$B$100; “>=”&DATA($F$1;$G2;1); $B$2:$B$100; “<=”&FIMMÊS(DATA($F$1;$G2;1);0)). Onde E2 é o nome da categoria da linha atual, F1 é o ano fixo e G2 é o número do mês da linha atual. Ao arrastar essa fórmula para as linhas e colunas da tabela de análise, ela calcula automaticamente o total de cada combinação de categoria e mês.

Usando SOMASES para analisar o mês atual dinamicamente

Para criar um painel de análise que sempre mostra os dados do mês corrente sem precisar atualizar manualmente as datas dos critérios, combine as funções HOJE(), MÊS(), ANO() e FIMMÊS() nos critérios do SOMASES. A fórmula que soma os gastos de Alimentação do mês atual: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(ANO(HOJE());MÊS(HOJE());1); B2:B100; “<=”&FIMMÊS(HOJE();0)).

Dissecando essa fórmula: DATA(ANO(HOJE());MÊS(HOJE());1) constrói o primeiro dia do mês atual — se hoje for 15/05/2025, essa expressão retorna 01/05/2025. FIMMÊS(HOJE();0) retorna o último dia do mês atual — retorna 31/05/2025 para qualquer dia de maio. A fórmula automaticamente “vira” para o mês seguinte quando o mês atual muda, sem nenhuma intervenção manual. Esse tipo de análise dinâmica baseada em HOJE() é fundamental para dashboards de monitoramento financeiro que precisam estar sempre atualizados.

Para o mês anterior: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(ANO(DATAM(HOJE();-1));MÊS(DATAM(HOJE();-1));1); B2:B100; “<=”&FIMMÊS(DATAM(HOJE();-1);0)). O DATAM(HOJE();-1) retrocede um mês a partir de hoje, e o restante da lógica é idêntica — calcula o primeiro e último dia desse mês anterior. Para o mesmo mês do ano anterior: substitua -1 por -12 no DATAM, retrocedendo 12 meses.

Comparando SOMASES com duas condições de data entre períodos

Uma análise muito valiosa é comparar o mesmo período em anos diferentes — o crescimento ano a ano (YoY). Com SOMASES de duas condições, você cria duas fórmulas: uma para o período atual e outra para o mesmo período do ano anterior, e calcula a variação percentual entre elas. Para o total de Alimentação em maio de 2025: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(2025;5;1); B2:B100; “<=”&FIMMÊS(DATA(2025;5;1);0)). Para o mesmo mês em 2024: =SOMASES(C2:C100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(2024;5;1); B2:B100; “<=”&FIMMÊS(DATA(2024;5;1);0)). A variação percentual: =(valor_2025 – valor_2024) / valor_2024.

Para tornar essa comparação completamente automática e sem código de ano fixo, use ANO(HOJE()) e ANO(HOJE())-1 nos critérios: a fórmula do ano atual usa ANO(HOJE()) e a do ano anterior usa ANO(HOJE())-1. Quando o ano vira, ambas as fórmulas se atualizam automaticamente para o novo par de anos. Esse padrão de comparação ano a ano com SOMASES dinâmico é um dos pilares de qualquer dashboard financeiro que mostra evolução temporal de métricas por categoria.

Se você curtiu esse artigo onde mostramos como usar o SOMASES com duas condições de data no Excel para análises temporais, 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.

SOMASES com condição de ano ou mês usando funções auxiliares

Uma alternativa às condições de intervalo de data (>= data_início e <= data_fim) é criar colunas auxiliares na tabela de dados que extraem o mês e o ano de cada data, e usar essas colunas como critérios no SOMASES. Com uma coluna auxiliar de mês (=MÊS(B2)) e outra de ano (=ANO(B2)), o SOMASES com duas condições fica muito mais simples: =SOMASES(D2:D100; A2:A100; “Alimentação”; E2:E100; 5) para somar Alimentação de maio de qualquer ano. Ou com a condição de ano também: =SOMASES(D2:D100; A2:A100; “Alimentação”; E2:E100; 5; F2:F100; 2025) para somar Alimentação de maio de 2025 especificamente.

Essa abordagem com colunas auxiliares tem a vantagem de simplificar enormemente a fórmula SOMASES — em vez de dois critérios de data encadeados com DATA() e FIMMÊS(), você usa apenas os números simples do mês e do ano. A desvantagem é que requer colunas adicionais na tabela de dados, o que pode não ser desejável em tabelas que são compartilhadas ou que vêm de exportações de sistemas. Para tabelas que você controla completamente, as colunas auxiliares de mês e ano são uma excelente prática que simplifica não apenas os SOMASES mas também os CONT.SES e MÉDIASES que usam a mesma tabela.

Para o caso específico de somar dados do mês atual sem colunas auxiliares e sem o padrão de >= e <= de data, você pode usar SOMARPRODUTO com a função MÊS: =SOMARPRODUTO(–(A2:A100=”Alimentação”)*–(MÊS(B2:B100)=MÊS(HOJE()))*–(ANO(B2:B100)=ANO(HOJE()))*C2:C100). Essa abordagem usa SOMARPRODUTO em vez de SOMASES e aceita as funções MÊS() e ANO() diretamente nos critérios — algo que o SOMASES não aceita. O resultado é idêntico ao SOMASES com critérios de intervalo de data, mas com uma sintaxe diferente que pode ser mais legível dependendo do contexto.

Para quem trabalha com muitas análises temporais por mês e categoria, a melhor estratégia a longo prazo é definir os parâmetros de data em células nomeadas na aba de configurações da planilha. Crie células nomeadas como “MesAnalise” e “AnoAnalise” onde o usuário define o período de análise desejado. Todas as fórmulas SOMASES referenciam esses nomes: =SOMASES(D2:D100; A2:A100; “Alimentação”; B2:B100; “>=”&DATA(AnoAnalise;MesAnalise;1); B2:B100; “<=”&FIMMÊS(DATA(AnoAnalise;MesAnalise;1);0)). Quando o usuário muda MesAnalise de 5 para 6, todas as análises da planilha atualizam automaticamente para junho sem nenhuma edição de fórmula.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *