1900/1/1 以前の値を入力すると日付として認識されない - Excel

Excelで "1900/1/1" 以前の値を入力しても日付として認識されない現象について紹介します。

現象

通常、”yyyy/mm/dd"形式の文字列を入力すると、自動で日付形式と判定され、セルのフォーマットが日付形式に変わります。デフォルトの表示では、文字列は左寄せで表示されますが、日付表示になると右寄せで表示されます。


1900/1/1以前の日付を入力します。今回の例では "1780/10/13" を入力します。入力を確定すると、通常は日付形式として認識され右寄せの表示になりますが、左寄せで表示されています。


C列に10日後の日時を表示させる数式を入力します。 C2セルに"=B2+10" の数式を入力します。


C2セルの数式をコピーし、C3,C4セルにペーストします。C2,C3セルはB列の日付の10日後の日付が表示されますが、C4セルは"#VALUE!"が表示され、エラーになってしまいます。このことからも、B4セルは文字列の値であり、日付として検出できていないことが分かります。

原因

Excelでは、1900/1/1 以前の日付は日付軽視では利用できないことが原因です。

動作の確認

B2セルに数値を入力します。C2セルに "=B2"の数式を入力します。C列の書式設定を日付に変更します。~

B列に入力した数値の値の日付がC列に表示されます。"0"の値は、"1900/1/0" を表しています。


負の値"-500"を入力すると、日付が表示されません。日付形式の値は正の値しか取れない仕様のようです。


Excelの数値形式のシリアル値は1900/1/0 を 0 として、一日ごとに1を加える値で製の値しか取れないため、1900/1/1 以前の日付は表現できない仕様です。このため、1900/1/1以前の日付を入力しても、日付値としては検出されず文字列として表示されます。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-20
作成日: 2016-08-18
iPentec all rights reserverd.