EOMONTH função pode estar incorreta se data for de fevereiro

Traduções deste artigo Traduções deste artigo
ID do artigo: 179545 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sintomas

Se você usar a função EOMONTH para retornar o último dia de um mês, a função pode retornar o primeiro dia do próximo mês em vez disso.

Por exemplo, a função EOMONTH incorretamente pode retornar 3/1/2100 (1 de março de 2100) em vez de 28/2/2100 (28 de fevereiro de 2100).

Causa

Esse problema ocorre quando a data retornada pelo EOMONTH função atende as seguintes condições:
  • A data é em fevereiro. - e -

  • A data é em um ano de século não é igualmente divisível por 400, por exemplo:
    2100, 2200, 2300, 2500, 2600, 2700, 2900, 3000
Observação: Esse problema não ocorre se a data está no ano 1900 ou 2000.

Como Contornar

Como a função EOMONTH sempre deve retornar uma data no final do mês, você pode modificar as fórmulas para que eles subtrair uma data retornada pela função EOMONTH se a data não está no final do mês. Isso força a função para retornar a data correta, por exemplo:
A1: 1/1/2100
A2: =EOMONTH(A1,1)
A fórmula na célula que a2 retorna 3/1/2100, uma data incorreta. No entanto, se você alterar a fórmula
A1: 1/1/2100
A2: =IF(DAY(EOMONTH(A1,1))=1,EOMONTH(A1,1)-1,EOMONTH(A1,1))
a fórmula retorna o correto data (2/28/2100) mesmo que a data cair em fevereiro de um ano de século que não é igualmente divisível por 400.

Isso é como funciona a fórmula:
Se o dia do final do mês for 1, recalcular o final do mês, subtrair um e retornar a data. Caso contrário, recalcular o final do mês e retornar a data.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema não ocorre mais no Microsoft Excel 2000.

Mais Informações

A função EOMONTH, que está incluída na análise ferramentas, permite que você retornar a data do último dia do mês. Por exemplo, se você quiser determinar o último dia do mês seis meses a partir da data de hoje, use a seguinte fórmula:
=EOMONTH(TODAY(),6)
Se hoje for 13/1/98, a função retorna 31/7/98: o último dia do mês seis meses a partir de hoje.

O problema descrito neste artigo ocorre apenas quando a função EOMONTH retorna uma data de fevereiro de um ano de século não é um ano bissexto, por exemplo:
A1: B1 DE 1/1/2000: =EOMONTH(A1,1)
A2: 1/1/2100 B2: =EOMONTH(A2,1)
A3: 1/1/2200 B3: =EOMONTH(A3,1)
A4: 1/1/2300 B4: =EOMONTH(A4,1)
A5: 1/1/2400 B5: =EOMONTH(A5,1)
As fórmulas nas células B1 e B5 retornam os resultados corretos (29/2/2000 e 2/29/2400) porque as datas estão no século anos que sejam igualmente divisíveis por 400.

As fórmulas nas células B2, B3 e B4 retornam incorreto ocorre (3/1/2100, 3/1/2200 3/1/2300) porque as datas são no século anos que não sejam igualmente divisíveis por 400.

Propriedades

ID do artigo: 179545 - Última revisão: segunda-feira, 7 de outubro de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 98 for Macintosh
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbpending KB179545 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 179545

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com