エクセルでは「2014/10/1」のように日付形式でデータを扱えますが、うるう年ではない 1900年に「1900/2/29」がある設計となっており、1900/1/1 から 2/29 までは曜日計算にズレが生じる問題があります。
「うるう年」は西暦年号が 4で割り切れる年ですが、例外として 100 で割り切れて 400で割り切れない年は除外することになっています。
この計算でいくと 1900年は 100で割り切れて 400では割り切れないので本当は「うるう年」ではありません。
にも関わらず、エクセルでは「1900/2/27」からオートフィルで連続データを並べても分かるように、存在しないはずの「1900/2/29」が表示され、数値形式に変換すると 60 が割り当てられています。
このため、存在しない「うるう日」を水曜日としたため
エクセルでは1900/2/28 以前の日付(1900/1/1~1900/2/28)を使って「曜日」の計算をおこなうと 1日分のズレが生じる
という問題(?)があるのです。
たとえば、実際にエクセルで曜日計算をすると 1900/1/1 は「日曜日」と計算されてしまいます。
でも、カシオの計算サイト「keisan」で曜日計算をすると「月曜日」と分かります。
原因は Windows 向けエクセルを開発するとき、すでに表計算ソフトとして市場を獲得していた「Lotus123」というソフトとの互換性を持たせるため、「Lotus123」が 1900年をうるう年としてしまったシステムの間違いも修正せずに受け継いでしまったことにあります。
◆ 1900 年 3 月 1 日の前に曜日が Excel で正しくないです。 - Microsoft サポート
上記の Microsoft のサポートページ(翻訳)でも
『Microsoft Excel での日付システムを作成したときに、ほかのスプレッドシート プログラムで使用される日付システムと完全に互換性があることを設計されています』
と書かれています。それにしても、このページはひどい翻訳です。
現在となっては、エクセルを使って 1990年より前の日付での計算や 1900/1/1 から 1900/2/29 までの曜日計算をすることもあまりないと思いますが、「雑学」として興味深いので紹介しました。
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。