Microsoft Excelは、1900年がうるう年であると誤って判断しています。この誤認識は、Lotus 1-2-3から受け継がれ、互換性を確保するためのものでした。しかし、1900年をうるう年と認識することには問題があります。この問題を修正すると、Excelのほとんどの日時が1日減るほか、WEEKDAY関数の値が変わり、ワークシートの計算が誤る可能性があります。多くのユーザーは1900年以前の日付を使用しないため、修正しない方が実用的です。Excelは他のすべてのうるう年を正しく処理します。
Microsoft Excelにおける1900年のうるう年誤認識に関する記事
症状
Microsoft Excelは、1900年がうるう年であると誤って認識しています。本記事では、なぜ1900年がうるう年として扱われるのか、その根本的な理由を解説し、この特定の問題が修正された場合に生じる可能性のある振る舞いについて概説します。
詳細情報
初めてLotus 1-2-3がリリースされた際、このプログラムは1900年がうるう年であると仮定していましたが、実際には1900年はうるう年ではありませんでした。このようにすることで、プログラムはうるう年を扱うことが容易になり、Lotus 1-2-3におけるほとんどの日時計算において問題はありませんでした。
その後、Microsoft MultiplanおよびMicrosoft Excelがリリースされると、これらも1900年がうるう年であるという仮定を採用しました。この仮定は、Lotus 1-2-3が使用したのと同じ数値シリアル日付システムを利用することを可能にし、その結果、Lotus 1-2-3との互換性が高まりました。1900年をうるう年として扱うことで、異なるプログラム間でワークシートを移行することも容易になりました。
現在のMicrosoft Excelのバージョンが1900年をうるう年でないと仮定するようにこの振る舞いを修正することは技術的には可能ですが、利点よりも欠点の方が大きいと考えられます。
この振る舞いが修正された場合、以下のような多くの問題が発生します:
- 現在のMicrosoft Excelワークシートや他のドキュメントにあるほぼすべての日付が1日減少します。このシフトを修正するには相当な時間と労力がかかるでしょう。特に日付を使用した数式においては顕著です。
- WEEKDAY関数のような一部の関数が異なる値を返すようになり、これによりワークシート内の数式が正しく機能しなくなる可能性があります。
- この振る舞いを修正すると、Microsoft Excelと他のプログラムとの間でのシリアル日付の互換性が破綻します。
振る舞いを修正しない場合、唯一発生する問題は以下の通りです:
- WEEKDAY関数が1900年3月1日以前の日付に対して誤った値を返します。ほとんどのユーザーは1900年3月1日以前の日付を使用しないため、この問題は稀です。
注意: Microsoft Excelは、2100年のようなうるう年でない世紀年を含む、他のすべてのうるう年を正しく処理します。1900年だけが誤って処理されています。
参考文献
うるう年が特定の年であるかどうかを判断する方法についての詳細は、うるう年を判断する方法をご覧ください。
————-
Excel incorrectly assumes that the year 1900 is a leap year – Microsoft 365 Apps
Source link
Microsoft Excel incorrectly treats the year 1900 as a leap year, a behavior inherited from Lotus 1-2-3 to ensure compatibility. This assumption simplifies date handling but isn’t technically accurate since 1900 was not a leap year. If this issue were corrected, it would lead to several problems:
- Date Adjustments: All dates in existing Excel documents would shift backward by one day, requiring significant effort to adjust formulas.
- Function Errors: Functions like WEEKDAY would return incorrect results, disrupting existing worksheets.
- Compatibility Issues: Correcting the leap year assumption would break the serial date compatibility with Lotus 1-2-3 and other programs.
As a result, only the WEEKDAY function would yield incorrect values for dates before March 1, 1900, a minor issue since few users deal with these early dates. Excel accurately manages all other leap years, except for 1900.