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年など)は正しく扱われます
|