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 ワークシートやその他のドキュメントのほとんどの日付は、1 日だけ減少します。 このシフトを修正するには、特に日付を使用する数式では、かなりの時間と労力がかかります。
  • WEEKDAY 関数などの一部の関数は、異なる値を返します。これにより、ワークシート内の数式が正しく動作しない可能性があります。
  • この動作を修正すると、Microsoft Excel と日付を使用する他のプログラムとの間でシリアル日付の互換性が損なわれます。

動作が修正されない場合、問題は 1 つだけ発生します。

  • WEEKDAY 関数は、1900 年 3 月 1 日より前の日付に対して正しくない値を返します。 ほとんどのユーザーは 1900 年 3 月 1 日より前の日付を使用しないため、この問題はまれです。

注: Microsoft Excel は、閏年ではない世紀年 (2100 など) を含む、他のすべての閏年を正しく処理します。 1900 年のみが正しく処理されません。

関連情報

特定の年が閏年かどうかを判断する方法の詳細については、「年が閏 年かどうかを判断する方法」を参照してください。