Funkci EOMONTH může být nesprávné datum je v únoru

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:179545
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Příznaky
Pokud použijete funkci EOMONTH vrátíte poslední den v měsíci, funkce může vrátit první den příštího měsíce místo.

Funkci EOMONTH může například vrátit nesprávně 3/1/2100 (1. březnu 2100) namísto 2/28/2100 (28. února 2100).
Příčina
K tomuto problému dochází, pokud datum vrácených EOMONTH funkce splňuje následující podmínky:
  • Datum je v únoru. - a -

  • Datum je v roce století, který není beze zbytku dělitelná ve 400, například:
    2100, 2200, 2300, 2 500, 2600, 2700, 2900, 3000
Poznámka: Tento problém nenastane, pokud je datum v roce 1900 nebo 2000.
Jak potíže obejít
Protože funkce EOMONTH by měly vždy vrátí datum na konci měsíce, můžete upravit vzorce tak, aby jejich odečíst z datum vrácené funkcí EOMONTH Pokud den není na konci měsíce. To přinutí funkce, kterou chcete vrátit správné datum, například:
A1: 1/1/2100
A2: =EOMONTH(A1,1)
Vzorec v buňce A2 vrátí hodnotu 3, 1/2100, nesprávné datum. Avšak pokud změníte vzorec
A1: 1, 1/2100
A2: =IF(DAY(EOMONTH(A1,1))=1,EOMONTH(A1,1)-1,EOMONTH(A1,1))
Vzorec vrátí správné datum (2/28/2100) i v případě, že se datum v únoru roku století, který není beze zbytku dělitelná ve 400.

Je to, jak funguje vzorec:
Jestliže je den po konci měsíce 1, Přepočítat konce měsíce, odečíst jedno a vrátit data. V opačném případě Přepočítat konce měsíce a vrátit data.
Prohlášení
Společnost Microsoft potvrzuje, že toto tlačítko se jednat o problém v produktech této společnosti uvedených na začátku tohoto článku. K tomuto problému již nedochází v aplikaci Microsoft Excel 2000.
Další informace
Funkci EOMONTH, která je součástí analýza nástroj, umožňuje vrátí datum posledního dne v měsíci. Pokud chcete určit poslední den měsíce šest měsíců od dnešního data, použijte následující vzorec:
=EOMONTH(TODAY(),6)
Pokud dnes je 1/13/98, funkce vrátí 7/31/98: poslední den měsíce šest měsíců od dnešního dne.

Problému popsaného v tomto článku dojde v pouze v případě, že je funkce EOMONTH vrátí datum v únoru roku století, který není přestupných ročně, například:
A1: 1/1/2000 B1: =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: B5 1/1/2 400: =EOMONTH(A5,1)
Vzorce v buňkách B1 a B5 vrátit správné výsledky (2/29/2000 a 2, 29 a 2400) protože data jsou v letech století, které jsou beze zbytku dělitelná 400.

Vzorce v buňkách B2, B3 a B4 vracet nesprávné výsledky (3/1/2100, 3/1/2200, 3, 1/2300) protože data jsou v roky století, které nejsou beze zbytku dělitelná 400.
Xl97 y2k year2000 XL

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 179545 - Poslední kontrola: 01/30/2014 12:16:35 - Revize: 2.0

Microsoft Excel 97 Standard Edition, Microsoft Excel 98 pro počítače Macintosh

  • kbnosurvey kbarchive kbmt kbbug kbpending KB179545 KbMtcs
Váš názor