Guia de tecnologias

EOMONTH no Excel: guia completo para calcular finais de mês

12 min read Planilhas Atualizado 16 Sep 2025
EOMONTH no Excel: cálculo de fim de mês
EOMONTH no Excel: cálculo de fim 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

Um calendário feito no Excel sobre uma mesa com o logo do Excel ao lado.

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 aDescriçã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 bDescriçã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.

Uma tabela no Excel com números de projeto na coluna A, duração na coluna B, responsáveis na coluna C, datas de início na coluna D e coluna E, com cabeçalho 'End date', em branco.

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:

  1. Escreva =EOMONTH(
  2. Selecione a célula com a data de início e digite uma vírgula.
  3. 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.

A função EOMONTH no Excel pega a data de início na coluna D, avança o número de meses na coluna B e retorna a data final do mês resultante.

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.

Uma tabela no Excel com números de projeto na coluna A, duração na coluna B, responsáveis na coluna C, prazos na coluna E, e a coluna D (vazia) com cabeçalho 'Start date'.

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.

O EOMONTH pega a data final na coluna E, recua o número de meses na coluna B e recua um mês extra para retornar a data de início.

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.

Uma tabela no Microsoft Excel com números de projeto na coluna A, duração na coluna B, responsáveis na coluna C, datas de início na coluna D, e coluna E com cabeçalho 'End date' vazia.

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.

Uma planilha orçamentária com células destacadas onde os dias até o fim do mês e o orçamento diário serão calculados.

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

Uma planilha orçamentária onde o valor excedente por dia no mês corrente é calculado ao dividir o total excedente pelo número de dias restantes.

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))

O EOMONTH, DATE e SEQUENCE juntos retornam uma matriz de finais de mês para 2025.

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.

O EOMONTH, DATE e SEQUENCE usados para retornar finais de mês a cada trimestre em 2025.


Alternativas e quando usar cada função

Abaixo uma comparação prática entre abordagens comuns para trabalhar com meses em Excel.

ObjetivoFórmula típicaQuando 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

  1. Comece na data de referência.
  2. Mova-se X meses (positivo avança; negativo recua).
  3. 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)

  1. Entrada: A1=2025-01-04, N=3 → Saída: 2025-04-30 (EOMONTH(A1,3)).
  2. Entrada: A1=2024-02-10, N=0 → Saída: 2024-02-29 (ano bissexto). Verificar 29/02/2024.
  3. Entrada: A1=2025-01-31, N=1 → Saída: 2025-02-28 (mês menor).
  4. 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çãoRetornaIdeal paraLimitações
EOMONTHÚltimo dia do mês ajustadoPrazos no fim do mês, fechamento mensalNão preserva o mesmo dia do mês; usa meses inteiros
EDATEMesmo dia no mês ajustadoRenovação mensal que exige mesmo diaSe 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 retroativaSintaxe menos direta que EOMONTH
SEQUENCE + EOMONTHArray de finais de mêsGerar séries de datasNão funciona dentro de Tabelas do Excel

Mini-metodologia: como escolher e validar uma fórmula EOMONTH

  1. Defina o requisito: fim do mês ou mesma data? Mensal, bimestral, anual?
  2. Escolha função: EOMONTH para fim do mês; EDATE para mesma data.
  3. Crie exemplos de teste com bordas: meses 28/29/30/31, fim de ano, mudança de ano, ano bissexto.
  4. Aplique formatação e valide resultados em diferentes linhas/linhas de amostra.
  5. 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

  1. Último dia do mês N meses a partir de hoje, formatado textual:
=TEXT(EOMONTH(TODAY(),N),"dd mmmm yyyy")
  1. Verificar se uma data é fim de mês:
=IF(A1=EOMONTH(A1,0),"É fim de mês","Não é fim de mês")
  1. 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.)

  1. 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

  1. Objetivo: gerar relatório mensal com data de corte no último dia do mês.
  2. Fonte: coluna Data_Evento (A).
  3. Passo 1: criar coluna Data_Corte =EOMONTH(A2,0).
  4. Passo 2: formatar Data_Corte como Data curta.
  5. Passo 3: validar 10 amostras (incluindo fev/ano bissexto).
  6. 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.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE