EOMONTH no Excel: guia completo para calcular finais de mês
Links rápidos
- A sintaxe do EOMONTH
- Calculando finais de mês no futuro
- Calculando finais de mês no passado
- Calculando finais de mês para períodos em anos
- Calculando o fim do mês atual
- Gerando sequências de finais de mês
- Alternativas, armadilhas e dicas práticas

O EOMONTH no Microsoft Excel retorna o último dia de um mês — pode ser de um mês passado, do mês atual ou de um mês futuro. É útil para calcular datas de vencimento no fim do mês, prazos, datas de expiração, receitas mensais e projeções. Por padrão, EOMONTH retorna um número serial de data; aplique o formato de data adequado às células que exibem o resultado.
A sintaxe do EOMONTH
O EOMONTH exige dois argumentos:
=EOMONTH(a,b)- a: data de início (qualquer dia de qualquer mês/ano). Pode ser referência a célula, DATE(), TODAY() ou outra função que retorne data.
- b: número de meses antes (negativo), depois (positivo) ou 0 para o mesmo mês. O Excel soma ou subtrai meses e depois retorna o último dia do mês resultante.
Exemplos de uso do argumento a:
| Argumento a | Descrição |
|---|---|
| =EOMONTH(A1, | A data de início é o valor em A1. |
| =EOMONTH(DATE(2025,05,31), | A data de início é 31 de maio de 2025. |
| =EOMONTH(TODAY(), | A data de início é a data atual (hoje). |
Exemplos de uso do argumento b:
| Argumento b | Descrição |
|---|---|
| =EOMONTH(A1, 5) | Último dia do mês 5 meses depois da data em A1. |
| =EOMONTH(A1, -5) | Último dia do mês 5 meses antes da data em A1. |
| =EOMONTH(A1, 0) | Último dia do mês da data em A1. |
| =EOMONTH(A1, A2) | Usa A2 como número de meses a avançar. |
| =EOMONTH(A1, -A2) | Usa A2 como número de meses a recuar (sinal negativo). |
Dica rápida: dentro de fórmulas, você também pode usar expressões (por exemplo, EOMONTH(A1, A2+3)).
Calculando finais de mês no futuro
A aplicação mais comum do EOMONTH é retornar o último dia de um mês futuro. Imagine um gerente de projetos que aloca tarefas com prazos no final do mês.

Para calcular a data de término na coluna E, use EOMONTH. No exemplo, a fórmula usada em E2 é:
=EOMONTH([@[Start date]],[@Months])Passo a passo curto:
- Escreva =EOMONTH(
- Selecione a célula com a data de início e digite uma vírgula.
- Selecione a célula com o número de meses a avançar (ou insira um número) e feche parênteses.
Se a sua tabela do Excel for uma Tabela (Insert > Table), a fórmula automática usará referências estruturadas (por exemplo, [@[Start date]]) e preencherá a coluna automaticamente. Se for um intervalo simples, use a alça de preenchimento para copiar a fórmula nas linhas abaixo.

Exemplo prático: data de início 04/01/2025, avançando 3 meses chega a 04/04/2025; EOMONTH retorna 30/04/2025.
Vantagens de usar referências de célula em vez de valores fixos:
- A fórmula se adapta a cada linha com dados diferentes.
- Mudar a duração ou a data de início é simples: altere a célula, não a fórmula.
Importante: EOMONTH retorna um número serial. Se o resultado aparecer como data estranha, ajuste o formato para Data na guia Início > Número.
Calculando finais de mês no passado
O EOMONTH também calcula a data do último dia de um mês que fica X meses antes de uma data de referência.

Exemplo: você tem prazos na coluna E e quer saber até quando um funcionário precisa começar um projeto de N meses para terminar a tempo. Se desejar um mês extra de folga, subtraia um mês adicional.
Fórmula em D2:
=EOMONTH([@Deadline],-[@Months]-1)Interpretação:
- [@Deadline]: data final desejada (coluna E).
- -[@Months]: volta o número de meses indicado na coluna Months.
- -1: recua mais um mês para criar margem.

Exemplo numérico: prazo 27/01/2026, -5 meses = agosto/2025, -1 mês = julho/2025. EOMONTH retorna 31/07/2025.
Calculando finais de mês para períodos em anos
EOMONTH trabalha por meses. Para pular anos, multiplique anos por 12.

Fórmula para anos à frente (na célula E2):
=EOMONTH([@[Start date]],[@Years]*12)Para voltar X anos, use sinal negativo:
=EOMONTH([@[Start date]],-[@Years]*12)Exemplo: start 04/01/2025, Years=2 → EOMONTH calcula 31/01/2027.
Nota: multiplique por 12 antes de passar para EOMONTH; não confie em aproximações por 365 dias.
Calculando o fim do mês atual
EOMONTH pode retornar o último dia do mês corrente quando usado com TODAY(). Com isso você pode calcular quantos dias faltam no mês para orçamentos diários, relatórios em andamento etc.

Exemplo para contar dias restantes no mês (em B2):
=EOMONTH(TODAY(),0)-TODAY()Componentes:
- EOMONTH(TODAY(),0): último dia do mês atual (serial).
- TODAY(): data de hoje (serial).
- A subtração retorna o número de dias restantes.
Se a célula exibir uma data em vez de um número, altere o formato para Geral ou Número.
Para calcular quanto você pode gastar por dia, divida o saldo disponível pelos dias restantes. Exemplo:
=B6/B1
Gerando sequências de finais de mês (EOMONTH + SEQUENCE)
Combine EOMONTH com SEQUENCE para produzir uma lista de finais de mês. SEQUENCE gera arrays dinâmicos, então coloque a fórmula em uma célula regular (não em uma Tabela do Excel).
SEQUENCE tem a forma:
=SEQUENCE(a,b,c,d)- a: número de linhas
- b: número de colunas
- c: primeiro número da sequência
- d: incremento entre valores
Exemplo: meses do ano 2025 (12 meses) usando DEZ/2024 como referência:
=EOMONTH(DATE(2024,12,31),SEQUENCE(12))
Exemplo para cada 2 meses (iniciar em jan/2025):
=EOMONTH(DATE(2024,12,31),SEQUENCE(6,,,2))Exemplo trimestral (4 trimestres):
=EOMONTH(DATE(2025,2,28),SEQUENCE(4,,,3))Se quiser fixar os resultados, selecione as células, copie (Ctrl+C) e cole valores (Ctrl+Shift+V) para quebrar a ligação com a matriz dinâmica. Depois transforme o intervalo em Tabela se desejar.

Alternativas e quando usar cada função
Abaixo uma comparação prática entre abordagens comuns para trabalhar com meses em Excel.
| Objetivo | Fórmula típica | Quando usar |
|---|---|---|
| Último dia do mês X meses depois | =EOMONTH(data, n) | Precisão no final do mês; prazos e cortes mensais. |
| Mesmo dia X meses depois | =EDATE(data, n) | Quando precisa manter o mesmo dia do mês (ex.: 15/01 → 15/02). |
| Último dia do mês via fórmula clássica | =DATE(YEAR(data),MONTH(data)+n+1,0) | Técnica que usa o dia 0 do mês seguinte para chegar ao último dia; funciona em todas as versões. |
Resumo: use EOMONTH para fins de mês; EDATE para mesmas datas relativas; DATE(…,0) se preferir uma alternativa sem função EOMONTH.
Padrões mentais (heurísticas) — como pensar em EOMONTH
- Comece na data de referência.
- Mova-se X meses (positivo avança; negativo recua).
- Escolha o último dia do mês alcançado.
Mental model curto: EOMONTH = “vírgula + pular meses + apertar ‘último dia’”.
Erros comuns e armadilhas
- Resultado aparece como número serial: ajuste o formato da célula para Data.
- Usar EOMONTH quando precisa do mesmo dia do mês: isso muda o dia (use EDATE).
- SEQUENCE + EOMONTH não funciona dentro de Tabelas do Excel; coloque em um intervalo regular.
- Datas antes de 1900: Excel usa um sistema de data limitado; verifique compatibilidade em planilhas legadas. (Evite supor comportamento em sistemas não padronizados.)
- Copiar fórmulas com referências relativas pode alterar os argumentos; prefira referências absolutas se necessário.
Casos em que EOMONTH “falha” ou não é a melhor escolha
- Se você precisa que as datas resultantes preservem o mesmo dia (ex.: 31 de janeiro → 31 de março deve lançar erro em fevereiro), EOMONTH sempre retorna último dia do mês e pode não atender. Use EDATE ou tratamentos condicionais se houver requisitos específicos.
- Se precisa trabalhar em janelas de tempo não mensais (dias úteis, semanas), funções como WORKDAY ou fórmulas com NETWORKDAYS podem ser melhores.
- Se precisa de cálculos que dependam de fusos horários ou carimbos de hora, EOMONTH trata somente datas (sem horas); combine com INT() ou TRUNC() se necessário.
Snippets e cheatsheet de fórmulas úteis
- Último dia do mês atual:
=EOMONTH(TODAY(),0)- Último dia do mês seguinte:
=EOMONTH(TODAY(),1)- Último dia do mês anterior:
=EOMONTH(TODAY(),-1)- Último dia N meses a partir de data em A1:
=EOMONTH(A1,N)- Mesmo dia N meses a partir de A1 (preserva dia):
=EDATE(A1,N)- Último dia do mês com a técnica DATE(…,0):
=DATE(YEAR(A1),MONTH(A1)+N+1,0)- Série de 12 finais de mês após 31/12/2024:
=EOMONTH(DATE(2024,12,31),SEQUENCE(12))- Série bimestral (cada 2 meses):
=EOMONTH(DATE(2024,12,31),SEQUENCE(6,,,2))Checklist por papel (Role-based)
Gerente de projeto:
- Validar que prazos são sempre últimos dias do mês.
- Usar EOMONTH para cronograma de entregas mensais.
- Testar com meses de 28/29/30/31 dias.
Analista financeiro / Contador:
- Garantir formato de data nas colunas de resultado.
- Usar EOMONTH para fechar períodos mensais e consolidar receitas.
- Copiar e colar como valores antes de formatar relatórios finais.
Desenvolvedor de relatórios / Automação:
- Evitar SEQUENCE dentro de Tabelas; gerar em intervalo e depois estruturar.
- Considerar internacionalização de formatos de data.
Testes / Critérios de aceitação (exemplos simples)
- Entrada: A1=2025-01-04, N=3 → Saída: 2025-04-30 (EOMONTH(A1,3)).
- Entrada: A1=2024-02-10, N=0 → Saída: 2024-02-29 (ano bissexto). Verificar 29/02/2024.
- Entrada: A1=2025-01-31, N=1 → Saída: 2025-02-28 (mês menor).
- Sequência: EOMONTH(DATE(2024,12,31),SEQUENCE(12)) → 31/01/2025 … 31/12/2025.
Critério de aceitação: os valores exibidos devem ser datas válidas e formatadas como Data; resultados de sequência devem conter exatamente N linhas esperadas.
Matriz de comparação rápida
| Função | Retorna | Ideal para | Limitações |
|---|---|---|---|
| EOMONTH | Último dia do mês ajustado | Prazos no fim do mês, fechamento mensal | Não preserva o mesmo dia do mês; usa meses inteiros |
| EDATE | Mesmo dia no mês ajustado | Renovação mensal que exige mesmo dia | Se dia não existir no mês resultante, ajusta para o último dia |
| DATE(…,0) | Último dia do mês (técnica clássica) | Compatibilidade retroativa | Sintaxe menos direta que EOMONTH |
| SEQUENCE + EOMONTH | Array de finais de mês | Gerar séries de datas | Não funciona dentro de Tabelas do Excel |
Mini-metodologia: como escolher e validar uma fórmula EOMONTH
- Defina o requisito: fim do mês ou mesma data? Mensal, bimestral, anual?
- Escolha função: EOMONTH para fim do mês; EDATE para mesma data.
- Crie exemplos de teste com bordas: meses 28/29/30/31, fim de ano, mudança de ano, ano bissexto.
- Aplique formatação e valide resultados em diferentes linhas/linhas de amostra.
- Automatize: crie uma Tabela e use referências estruturadas; se usar SEQUENCE, gere em intervalo separado.
Boas práticas e performance
- Evite calcular matrizes desnecessariamente grandes; use SEQUENCE com limites explícitos.
- Prefira referências de célula (A1, tabelas estruturadas) em vez de muitos valores fixos nas fórmulas.
- Quando precisar arquivar resultados, cole como valores para evitar dependências dinâmicas.
- Use nomes de intervalo para legibilidade (por exemplo, Data_Inicio).
Exemplos avançados e combinações úteis
- Último dia do mês N meses a partir de hoje, formatado textual:
=TEXT(EOMONTH(TODAY(),N),"dd mmmm yyyy")- Verificar se uma data é fim de mês:
=IF(A1=EOMONTH(A1,0),"É fim de mês","Não é fim de mês")- Próximo fim de mês depois de uma data condicional:
=EOMONTH(A1,IF(DAY(A1)=1,0,1))(A lógica acima retorna o fim do mês atual se a data for o primeiro dia do mês; caso contrário, retorna o fim do mês seguinte.)
- Fim do mês ajustado por regras de negócio (ex.: prazos que não podem cair em fim de semana): combine EOMONTH com WORKDAY.INTL ou ajuste condicional usando TEXT+WEEKDAY.
Segurança, privacidade e compatibilidade
- Fórmulas EOMONTH não expõem dados sensíveis por si só; contudo, quando integradas a relatórios automatizados, tenha cuidado com permissões de planilha.
- Compatibilidade: EOMONTH existe em versões modernas do Excel e no Excel Online; SEQUENCE e matrizes dinâmicas requerem Excel 365/Excel 2021 ou posterior. Use a técnica DATE(…,0) para compatibilidade com versões antigas.
Dicas de migração entre locales (pt-BR / pt-PT / en)
- Funções são localizadas em algumas versões do Excel (ex.: EOMONTH pode aparecer como FIMMÊS em versões traduzidas). Verifique a localidade do Excel ao migrar planilhas.
- Formatos de data (dd/mm/aaaa vs mm/dd/aaaa) dependem das configurações regionais. Use DATE(ano,mês,dia) para evitar ambiguidade em fórmulas.
Exemplos de playbook / SOP rápido
- Objetivo: gerar relatório mensal com data de corte no último dia do mês.
- Fonte: coluna Data_Evento (A).
- Passo 1: criar coluna Data_Corte =EOMONTH(A2,0).
- Passo 2: formatar Data_Corte como Data curta.
- Passo 3: validar 10 amostras (incluindo fev/ano bissexto).
- Passo 4: consolidar e colar como valores antes de compartilhar.
Resumo final
EOMONTH é a função direta para obter o último dia do mês após avançar ou recuar N meses a partir de uma data. Para manter o mesmo dia do mês, use EDATE. Para gerar séries, combine com SEQUENCE (atenção à compatibilidade com Tabelas). Sempre teste com bordas (fevereiro, meses de 30/31 dias, fim de ano) e formate os resultados para Data.
Principais pontos:
- EOMONTH retorna um número serial que deve ser formatado como Data.
- Multiplique anos por 12 para pular anos com EOMONTH.
- SEQUENCE permite criar séries, mas não funciona dentro de Tabelas.
Obrigado por ler — aplique estas receitas para reduzir erros em cálculos mensais e acelerar a criação de cronogramas e relatórios.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android