Program Excel niepoprawnie zakłada, że rok 1900 jest rokiem przestępnym

Symptomy

Program Microsoft Excel niepoprawnie zakłada, że rok 1900 jest rokiem przestępnym. W tym artykule wyjaśniono, dlaczego rok 1900 jest traktowany jako rok przestępny, i opisano zachowania, które mogą wystąpić, jeśli ten konkretny problem zostanie rozwiązany.

Więcej informacji

Kiedy Lotus 1-2-3 został wydany po raz pierwszy, program zakładał, że rok 1900 był rokiem przestępnym, mimo że w rzeczywistości nie był to rok przestępny. Ułatwiło to programowi obsługę lat przestępnych i nie zaszkodziło prawie wszystkim obliczeniam daty w programie Lotus 1-2-3.

Po wydaniu programów Microsoft Multiplan i Microsoft Excel zakładali również, że rok 1900 był rokiem przestępnym. To założenie umożliwiło programowi Microsoft Multiplan i programowi Microsoft Excel korzystanie z tego samego systemu dat seryjnych używanego przez program Lotus 1-2-3 i zapewnianie większej zgodności z programem Lotus 1-2-3. Traktowanie 1900 jako roku przestępnego ułatwiło również użytkownikom przenoszenie arkuszy z jednego programu do drugiego.

Mimo że jest technicznie możliwe skorygowanie tego zachowania, tak aby bieżące wersje programu Microsoft Excel nie zakładały, że rok 1900 jest rokiem przestępnym, wady tego działania przeważają nad zaletami.

Gdyby to zachowanie zostało rozwiązane, pojawiłoby się wiele problemów, w tym:

  • Prawie wszystkie daty w bieżących arkuszach programu Microsoft Excel i innych dokumentach zostaną zmniejszone o jeden dzień. Skorygowanie tej zmiany zajęłoby dużo czasu i wysiłku, zwłaszcza w formułach korzystających z dat.
  • Niektóre funkcje, takie jak funkcja WEEKDAY, będą zwracać różne wartości; Może to spowodować niepoprawne działanie formuł w arkuszach.
  • Skorygowanie tego zachowania spowoduje przerwanie zgodności daty szeregowej między programem Microsoft Excel i innymi programami, które używają dat.

Jeśli zachowanie pozostaje nieskorektowane, występuje tylko jeden problem:

  • Funkcja WEEKDAY zwraca nieprawidłowe wartości dat przed 1 marca 1900 r. Ponieważ większość użytkowników nie używa dat przed 1 marca 1900 r., ten problem jest rzadki.

UWAGA: Program Microsoft Excel prawidłowo obsługuje wszystkie inne lata przestępne, w tym lata stulecia, które nie są latami przestępowymi (na przykład 2100). Tylko rok 1900 jest niepoprawnie obsługiwany.

Informacje

Aby uzyskać więcej informacji na temat określania, czy dany rok jest rokiem przestępnym, zobacz Metoda określania, czy rok jest rokiem przestępnym.