1900年閏日問題
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/16 05:48 UTC 版)
「Microsoft Excel」の記事における「1900年閏日問題」の解説
Windows版では、日付データの扱いについて、基本的には1900年1月0日を起算日として、0から始まるシリアル値(連続値)で持っている。 現行のグレゴリオ暦では1900年はうるう年ではなく、平年であるため閏日(1900年2月29日)は存在しないはずであるが、Windows版Excelでは、1900年2月29日を存在するものとして計算してしまう。このため、1900年3月1日より前の日を計算に使う場合、注意が必要となる。 これは「Lotus 1-2-3」のバグに由来しており、いわゆる「バグ互換性」として、初期のExcelに仕様として取り込まれたことによるものである。社長ビル・ゲイツによる直々のレビューにおいて、ゲイツがこれを的確に質問した、というエピソードがある。 なお、Windows版(2.0以降)では「1904年から計算する」のチェックボックスが用意されている。このチェックが有効である場合、1900年~1903年の日付使用が無効となるため、1900年2月29日の問題は発生しなくなる。なお、macOS版では、初期状態での日付の起算日が1904年1月1日となっているため、Mac ⇔ Windows 間で日付データの入ったExcelデータをやりとりする場合、日付が1462日ずれる場合がある。両者が混在する環境の場合、Windows側でMacに合わせて、「1904年から計算する」のチェックボックスを有効にすると、日付のずれはなくなる。 Excel の 1900 年を基準とした日付方式と 1904 年を基準とした日付方式の違いについて Microsoft WEEKDAY 関数で1900年3月1日より前の正しい曜日が返らない 互換ソフトであるOpenOffice.orgのCalcでは、標準設定では1899年12月31日を起算日として、1900年2月29日は存在しないものとして扱われている。(StarCalc1.0やWindows版Excelに合わせた1900年1月1日やMac版Excelに合わせた1904年1月1日の設定もある)
※この「1900年閏日問題」の解説は、「Microsoft Excel」の解説の一部です。
「1900年閏日問題」を含む「Microsoft Excel」の記事については、「Microsoft Excel」の概要を参照ください。
- 1900年閏日問題のページへのリンク