即効テクニック

便利機能とその他の設定関連のテクニック

Excelで用いている閏年の判定方法

(Excel 97)
Excelで使用している日付システムはグレゴリオ暦(Gregoriancalender)を基にしています。
グレゴリオ暦において平年は365日で成り立っています。これは恒星年(地球が太陽を一周するのに要する時間)の実際の長さが、正確には365.25635日であるためです。
そして4年に1度、3年間の平年によって生じる誤差(平年は実際の恒星年より若干短いため誤差が生じます)を相殺するために、366日から成る"閏年"が用いられます。
よって西暦の年が4で割り切れる年は閏年になります。例えば、1988、1992、1996年は閏年です。

しかしながら、前述の方法では依然としてわずかながら誤差が残ります。
これを消し去るためにグレゴリオ暦では、100で割り切れる年に対して、その年がさらに400でも割り切れれば閏年、割り切れない場合は平年とすることが定められています。

この理由により、以下の年は閏年ではありません。

1700、1800、1900、2100、2200、2300、2500、2600

これらは100で割り切れますが400では割り切れないためです。

以下の年は閏年です。

1600、2000、2400

これらは100でも400でも割り切れるためです。

以前のバージョンのExcelが日付データとして扱える1900年から2078年の間においては、1900年が100/400の例外措置に合致するため、1900年は平年ということになります。
しかしながらExcelでは、他の表計算ソフトウェアとのデータ互換性を優先したため、1900年を閏年とみなして計算しています。

Excel97では1900年から9999年までを扱うことができます。Excel97では依然として1900年を閏年として扱いますが、他のすべての平年(2100、2200年など)は正しく扱われます。