Blog

Excelで日付が4年ずれる

初めてのことでびっくりしました

それは仕事中に起こりました

 Excelで作業をしていて,日付のデータをファイルAからファイルBにコピー&ペーストしたところ,日付が4年(正確には4年と1日)ずれてしまったのです。不思議に感じてやり直してみましたが変わらず,同じシートの使っていないセルに貼り付けても変わらずで,唯一変わったのは新規ファイルに貼り付けたときでした。このときだけは日付はそのまま貼り付けることができました。

Excelの日付に関する設定

 解決策をWebで調べてこちらの記事にたどりつきました。Excelには1900 日付システムと1904 日付システムの2つがあり,日付を計算する開始日が4年違うのです。どうもこれが原因のようです。
記事を読み進めると1904 日付システムは古いMac用のExcelで使われていたものということがわかりました。確かに私が日付データを貼り付けようとしていたExcelファイルBは30年近く前に私がExcelを使い始めたころ,Mac用のExcel4.0で作成したファイルを複製して使っているものでした。
この日付システムの違いが原因で間違いないと確信しました。

日付システムの変更

 Windows版Excelでの日付システムの変更は以下の通りです。
1) [ファイル]、[オプション] の順にクリックします。
2) [詳細設定] をクリックします。
3) [ このブックの計算時] で、[ 1904年から計算する] をオフにします。
ファイルBで詳細設定画面を開いたところ,[1904年から計算する]にチェックが入っていたのでオフにして,無事に日付データをコピー&ペーストすることができました。
Excelは仕事ではかなり使っているのですが​初めて遭遇したケースで,解決するまでにちょっと時間がかかりましたが何とかなりました。

ss.jpg

色々調べてみると…

 Webを検索してみると,Mac版の古いExcelが1904 日付システムになっていたのはうるう年の計算を簡単にするためだったそうです。1900年を開始日にすると「1900年は4で割り切れる年だけどうるう年ではないという処理」をしないといけないのでそれを回避するためという記事を見かけました。
Windows版のExcelは発売時の表計算ソフトのスタンダードだったLotus1-2-3(私もMS-DOS版を主に使っていました)との互換性を優先して1900 日付システムを採用したという記事も見かけました。現在のExcelは1900 日付システムの設定にすると1900年はうるう年として認識しているようです。ということは「1900年は4で割り切れる年だけどうるう年ではないという処理」が実装されていないのだと思います。実害はないと思われますが…

ss2.jpg
手入力で1900/2/29と入力すると,1900年はうるう年ではありませんが日付として認識されます
ss3.jpg
2025/2/29と入力すると,日付としては認識していないようです

また,古いMacはOSの日付の開始日も1904年になっていたという記事も見かけました。Macは日付情報を32ビットで管理していたので1904年を開始日にすると2040年まで管理できるのでいわゆる2000年問題は起こらないともいわれていました。

この記事へのコメント

コメントはまだありません。

コメントを送る

必須
必須  
※ メールアドレスは公開されません
任意
必須
Loading...  画像の文字を入力してください
1
2
3
4
5
6
7
8