Поделиться через


Excel неправильно предполагает, что год 1900 является високосным годом

Симптомы

Microsoft Excel неправильно предполагает, что год 1900 года является високосным годом. В этой статье объясняется, почему год 1900 рассматривается как високосный год, и описывает поведение, которое может произойти, если эта конкретная проблема исправлена.

Дополнительная информация

Когда Lotus 1-2-3 был впервые выпущен, программа предположила, что год 1900 был високосным годом, несмотря на то, что на самом деле это не високосный год. Это облегчило программу для обработки високосных лет и не причиняло никакого вреда почти всем вычислениям дат в Lotus 1-2-3.

Когда Microsoft Multiplan и Microsoft Excel были выпущены, они также предположили, что 1900 был високосным годом. Это предположение позволило Microsoft Multiplan и Microsoft Excel использовать ту же систему даты сериализации, используемую Lotus 1-2-3 и обеспечить более высокую совместимость с Lotus 1-2-3. Обработка 1900 как високосного года также облегчила пользователям перемещение рабочих листов из одной программы в другую.

Хотя технически возможно исправить это поведение, чтобы текущие версии Microsoft Excel не предполагали, что 1900 является високосным годом, недостатки этого перевешивают преимущества.

Если бы это поведение было исправлено, возникнет множество проблем, в том числе:

  • Почти все даты в текущих листах Microsoft Excel и других документах будут уменьшаться на один день. Исправление этой смены займет значительное время и усилия, особенно в формулах, использующих даты.
  • Некоторые функции, такие как функция WEEKDAY, возвращают разные значения; Это может привести к неправильной работе формул в листах.
  • Исправление этого поведения приведет к разрыву совместимости последовательной даты между Microsoft Excel и другими программами, используюющими даты.

Если поведение остается некорректным, возникает только одна проблема:

  • Функция WEEKDAY возвращает неверные значения для дат до 1 марта 1900 года. Так как большинство пользователей не используют даты до 1 марта 1900 года, эта проблема является редкой.

ПРИМЕЧАНИЕ. Microsoft Excel правильно обрабатывает все другие високосные годы, включая вековые годы, которые не являются високосными годами (например, 2100). Только год 1900 неправильно обрабатывается.

Ссылки

Дополнительные сведения о том, является ли данный год високосным, см. в методе определения того, является ли год високосным годом.