日刊☆こよみのページ スクラップブック
(PV , since 2008/7/8)
■エクセルの「1900/02/29」という日付
今日は、日頃からお世話になっているソフトウェアの一つ、マイクロソフト
のエクセルのかわった日付の話です。
◇始まりはいつも「メール」?
今回の話の始まりは、Web こよみのページに届いた一通のメールです。
(個人を特定できるような内容があるわけでは無いので、説明のためにその
メールをそのまま使わせて頂きます)
> Subject: 新旧カレンダーのデータの誤りを発見しました
>
> 1900年の 2月のデータに誤りを発見しましたので報告します。
> 新旧歴カレンダーの方では 2月は28日までとなっていますがマイクロソ
> フトのデータでは29日になっています。
> どちらが正しいのでしょうか?
> 私は貴方のデータを基にカレンダーを作成しているので重要な問題点です。
> 貴方のデータが誤っているのであれば訂正してください!お願いします!
表題が、「新旧カレンダーのデータの誤りを発見しました」だったので、ド
キッとしました。なにせ、日刊☆こよみのページの記事で一番掲載回数の多
いコーナーは、記事の誤字脱字報告のコーナーである「隅掘り隊報告」だと
いう私。
「私に間違いはない」
なんてことは、間違っても云えない。でも、データに誤りがあるというのは
誤字脱字の話とは次元が違うので、焦りました。
「新旧カレンダー」というのは、Web こよみのページの「新暦と旧暦」の一
部を指していると思われます。メールの表題からすると、そのデータが間違
っている・・・これは、大変です。
しかし、内容を見てまずは安心。どうやらこよみのページのデータでは1900
年の 2月の日付は28日までしかないという、「間違っていない」ことが書か
れていました。
◇マイクロソフトの1900/02/29?
いただいたメールによれば、
「マイクロソフトのデータでは(1900/02の末日は)29日になっています」
とありました。
「マイクロソフトのデータでは」と云われても、どこにあるデータかわかり
ませんが、1900/02/29という日付で、ちょっと思い当たったことがありまし
た。現在では毎日のようにお世話になっているマイクロソフト社の表計算ソ
フト、マイクロソフトエクセル(以下「エクセル」と書きます)の日付には
「1900/02/29がある」という話です。
おそらく、御質問を下さった方は、この日付を見たのではないかな?
私はエクセル2003を使用しています。
このソフトで、メニューバーから
ツール → オプション → 計算方法
と進むと「1904年から計算する」というなんだか不思議なオプションスイッ
チがあります(他のバージョンでは? 誰か教えて)。
表計算では、毎日の集計を行う計算を取り扱うことが多いためでしょう、日
付を簡単に取り扱うことができるようになっています。例えば
2012/2/28 に 2を加えると → 2012/3/1と表示されるといった日付の自動
計算機能があります(特別意識しなくてもこうなっています)。
この日付の計算機能ですが、1900/02 についてデフォルト状態で試すと
1900/02/28 + 1 → 1900/02/29
1900/02/28 + 2 → 1900/03/01
と表示されます。本当は 3/1,3/2とならないといけないのですが。
皆さんご存じのとおり、現在使われている新暦(グレゴリオ暦と云ってよい
でしょう)では、 1900,2100,2200,2300年などは閏年ではなくて平年となり
ます。これらの年が閏年となる暦と云えばユリウス暦がそうです。
エクセルはひょっとして「ユリウス暦」を使っているのか?
残念ながら、そんなことはありません。試しに1900年ではなくて、2100年に
ついて、前述のような日付の計算をさせると、計算結果はグレゴリオ暦の正
しい日付となります。
(お手元にエクセルがあれば、試してみて下さい)
エクセルのこの不思議な動作は、エクセルが生まれた頃に先行していた表計
算ソフト、ロータス1-2-3 のバグ(?)を忠実に再現したもので、エクセル
からすると正しい仕様のようです。
とはいっても、やはりこの日付はおかしいので、こうした問題を避けるため
に「1904年から計算する」なんていう不思議なオプションスイッチを設けた
ようです。1904年から計算する(に日付計算の起点を移動させる)のなら、
1900年の不思議な日付計算の影響を免れるからです。
現在、エクセルといえば表計算ソフトの代名詞とも云える存在ですが、その
エクセルも、 2番手、 3番手で苦しんでいた時代があった、1900/02/29とい
う不思議な日付は、そのエクセルの苦難の時代の名残なんですね。
◇よかった間違ってなかった。
おそらくメールを下さった方のおっしゃる「マイクロソフトのデータ」とは
このエクセルの表示する不思議な日付のことだと思われます。
いただいたメールには、1900/02/29の日付は間違いであること(グレゴリオ
暦を使っていれば)を、エクセルの話も合わせて書き送りました。
その返信については、何の反応もいただけなかったので、マイクロソフトの
データが、私の予想したエクセルの不思議な日付で有ったのか否かは定かで
は無いのですが、十中八九は「問題解決」と考えてよいだろうと思っていま
す。ああ、私の間違いでなくてよかった。
◇ダビデとゴリアテ
メールの返信を送ってから思いました。
メールにはこよみのページとマイクロソフトのデータと「どちらが正しいの
でしょうか」と有りましたが、表題と文面全体の感じからすると、どうも私
の方が間違っていると思われていたようですね(私の被害妄想?)。
かわうそと天下のマイクロソフトじゃ、そう思われても仕方ないですけど。
立場が逆なら私でもそう思うでしょうから。
でも、ことが暦の日付(それも単純な)の話だったので、信用してもらえな
かったとしたら、ちょっと悲しいなと思ったかわうそでした。
(『暦のこぼれ話』に取り上げて欲しい話があれば、
magazine.std@koyomi.vis.ne.jp までお願いします。)
日刊☆こよみのページ スクラップブック