В документации Microsoft на сайте Learn появилась страница с заголовком «Excel ошибочно считает 1900 год високосным». Компания честно признаёт проблему, но ничего с ней делать не будет. Все началось с программы Lotus 1-2-3. В 1980-х годах она стала стандартом для работы с таблицами на IBM PC. Разработчики Lotus сделали 1900 год високосным — возможно, для упрощения расчётов, возможно, по ошибке. Точно никто не знает.
Изображение - ChatGPT
Когда Microsoft создавала Excel, компания столкнулась с выбором. Либо сделать правильно, либо обеспечить совместимость с Lotus. Выбрали совместимость. Иначе пользователи не смогли бы переносить свои таблицы из старой программы в новую. В итоге Excel унаследовал ошибку. Все остальные високосные годы программа определяет верно. Проблема касается только 1900 года и дат до 1 марта 1900 года. Функция WEEKDAY для этих дат возвращает неверные значения.
Microsoft признает: технически ошибку можно исправить. Но последствия окажутся слишком серьезными. Все даты в существующих таблицах сдвинутся на один день. Многие формулы перестанут работать. Нарушится совместимость с другими программами. Excel пользуются от 750 миллионов до миллиарда человек по всему миру. Компания решила оставить все как есть. Ошибка превратилась в особенность, которую теперь поддерживают даже другие продукты, например Open Office XML.