【エクセルTips】存在しないはずの1900年2月29日について曜日の仕様と注意点、補正の方法を解説します

エクセル

はじめに

エクセルにはうるう年のルールから外れているはずの1900年2月29日という日付がシリアル値60として存在しています。
筆者はこのことを「2021年9月5日のシリアル値が44444だ!」とTwitterで話題にしている時に知りました。
同時に、エクセルには曜日を1 (日曜) から 7 (土曜) までの範囲の整数で返すWEEKDAY関数がありますが、そのあたりどうなってるんだろう!?と疑問に思いました。
この記事では、架空の日付1900年2月29日と曜日の仕様について調べた結果を報告します!

1900年2月29日より前の曜日は間違っている

シノ
シノ

結果から言いますと、
エクセルのWEEKDAY関数は1900年2月29より過去の日付の曜日は実際よりも1つ前にずれた曜日を返す仕様になっています

1900年2月28日の曜日が実際の曜日と異なっている
キュウ
キュウ

1900年2月28日の曜日がGoogle検索の結果と異なっていますね!

シノ
シノ

その代わり1900年3月1日は正しくて、
それ以降はずっと正しい曜日が続く仕様になっているようです

キュウ
キュウ

たしかに、1900年1月1日からの60日間だけと言われたら
他のメリットと比較してズレたままにするかもしれませんね

シノ
シノ

本当、難しいところですよね
そして補正ですが、シリアル値が60より小さければ1を足した日付の曜日が返るようにすれば正しい曜日を表示することができますよ
図の例では+(B3<60)の部分が補正になっていて、60より小さければ1(TRUE)、大きければ0(FALSE)が加算されます

キュウ
キュウ

なるほど!
しかし、1900年の曜日を扱うことって…

シノ
シノ

ほとんど無いでしょうね
なので今回は役立つテクニックというより豆知識といったところです

補足 1904年から計算する設定について

オプションから1904年から計算する設定ができる
シノ
シノ

ちなみに、Excelの設定で日付を1900年からではなく
1904年からの計算に変更する設定ができます

キュウ
キュウ

こ、これは…

シノ
シノ

たしかに1904年からの計算であれば…
1900年2月29日前の曜日問題は発生しませんよね

おわりに

実在しない幻の日付…なんか興味をひかれるものがありました。
うるう年のルールってかなり面倒なので、そのせいで生まれた仕様のようです。
4で割り切れる年はうるう年です、でも100で割り切れる年は除外します、ただし400で割り切れる年はうるう年とします…に当てはめると1900年はうるう年ではないそうです。
Excelでの実装についてはLotus 1-2-3との互換性ということもあるようです。
Excel話をする上でよく登場しますね、 Lotus 1-2-3…。

Excel関数COUNTA関数擬人化キャラクター記事

【外部リンク】|Microsoftサポート WEEKDAY関数

今回はふと湧いた疑問について追求してみました。
最後までお付き合い頂き、ありがとうございました!

当ブログはエクセル関数の擬人化キャラクター記事をメインコンテンツとしています!
よろしければこちらの記事もどうぞ~!

【内部リンク】エクセル関数 SUMIF関数擬人化記事

コメント

タイトルとURLをコピーしました