エクセル(Excel)で曜日計算の「1900年うるう年問題」とは

エクセルでは「2014/10/1」のように日付形式でデータを扱えますが、うるう年ではない 1900年に「1900/2/29」がある設計となっており、1900/1/1 から 2/29 までは曜日計算にズレが生じる問題があります。

「うるう年」は西暦年号が 4で割り切れる年ですが、例外として 100 で割り切れて 400で割り切れない年は除外することになっています。

どの年がうるう年になるの? | 国立天文台(NAOJ)

この計算でいくと 1900年は 100で割り切れて 400では割り切れないので本当は「うるう年」ではありません。

 

にも関わらず、エクセルでは「1900/2/27」からオートフィルで連続データを並べても分かるように、存在しないはずの「1900/2/29」が表示され、数値形式に変換すると 60 が割り当てられています。

 

このため、存在しない「うるう日」を水曜日としたため

エクセルでは1900/2/28 以前の日付(1900/1/1~1900/2/28)を使って「曜日」の計算をおこなうと 1日分のズレが生じる

という問題(?)があるのです。

 

たとえば、実際にエクセルで曜日計算をすると 1900/1/1 は「日曜日」と計算されてしまいます。

エクセル(Excel)で日付から曜日を自動表示させる

 

でも、カシオの計算サイト「keisan」で曜日計算をすると「月曜日」と分かります。

 

原因は Windows 向けエクセルを開発するとき、すでに表計算ソフトとして市場を獲得していた「Lotus123」というソフトとの互換性を持たせるため、「Lotus123」が 1900年をうるう年としてしまったシステムの間違いも修正せずに受け継いでしまったことにあります。

1900 年 3 月 1 日の前に曜日が Excel で正しくないです。 - Microsoft サポート

 

上記の Microsoft のサポートページ(翻訳)でも

『Microsoft Excel での日付システムを作成したときに、ほかのスプレッドシート プログラムで使用される日付システムと完全に互換性があることを設計されています』

と書かれています。それにしても、このページはひどい翻訳です。

 

現在となっては、エクセルを使って 1990年より前の日付での計算や 1900/1/1 から 1900/2/29 までの曜日計算をすることもあまりないと思いますが、「雑学」として興味深いので紹介しました。

スポンサーリンク

ご意見&コメント

パソコン用語解説」をご利用いただき、ありがとうございます。

「参考になった」「ちょっと違うかも?」というときは TwitterFacebookページを使ってご感想やコメントをいただけると嬉しいです!励みにもなりますし、必要に応じて情報の追加や修正もしてまいります。

 

関連情報を検索

パソコントラブルQ&A」「パソコン用語解説」では関連Q&Aや用語解説を豊富に掲載中です。検索してみてください!

過去の用語解説 (373 件)

林 編集長のプロフィール

写真1写真2

:パソコン生活応援アドバイザー。「なにしろパソコン.com」サイト運営、メルマガ編集、セミナー講師からコラム・書籍執筆まで実績豊富!

 詳細 順位

ブログパーツ

「パソコン用語解説」では厳密さよりも、分かりやすさ、覚えやすさを優先しています。そのため強引なたとえを使ったり、編集長独自の見解も交えておりますのでご了承ください。解説の中でパソコンの設定や操作法を紹介していますが、お使いのバージョンなど環境によって違う場合があります。

また、本サイトを参考にしたパソコン設定、サイト閲覧、紹介したソフトウエアや機器の購入&使用、そしてトラブル対応やインターネット活用は『利用者の責任』でお願いします(免責事項)。

Related Posts Plugin for WordPress, Blogger...