エクセル(Excel)は1900年以前の日付を使った計算ができない

質問「エクセルで生年月日から指定日での年齢を計算する方法」では 1898年生まれの計算ができないのですが?

回答エクセルでは 1900年1月1日以降では日付形式を使った数値計算ができますが、それ以前の日付では正しい計算ができません。

以前、紹介した「エクセルで生年月日から指定日での年齢を計算する方法」は多くの方に参照いただいているようです。

エクセル(Excel)で生年月日から指定日での年齢を計算

そんな利用者の方から「1898年生まれの計算ができない」という連絡がありました。

 

実は エクセルは 1900年より前の日付形式を使った計算ができない ので注意が必要です。

 

たとえば、鉄腕アトムの誕生日は「2003年4月7日」なので、鉄腕アトムが実在しているとすると、2014年9月17日現在、その年齢は

=DATEDIF("2003/4/7","2014/9/17","Y")

という計算式で「11歳」と計算できます。

 

ところが、1836年1月3日生まれで 1867年12月10日に暗殺された坂本龍馬は

=DATEDIF("1836/1/3","1867/12/10","Y")

で計算しても「#VALUE!」となり、「数式の値が正しくない」と表示されます。

 

 

実はエクセルが日付計算できるのは 1900/1/1 を 1 、1900/1/2 を 2 、というように数値変換して、2000/1/1 は 36526、2014/9/1 は 41883 といった具合に各日付に固有の数値(整数)が定義できるためです。

 

ところが 1900/1/1 よりも前の日付では固有の整数に数値変換できず、1899/12/31 は「特定の形式なし」として、そのまま 1899/12/31 と判断されてしまいます。

 

 

そのため「数値」入力を必要とする数式に1900/1/1 よりも前の日付を入力すると「#VALUE!」となってしまうのです。

 

マイクロソフトの Office 公式サイトでも

『Excel の数式では 1900年1月1日より前の日付は使用できません』

と明示されています。

カレンダーの開始年は 1900 年 - 数式を使用して日付の計算を行う   - Microsoft Office

 
◆◇◆

もし 1900年1月1日よりも前の日付で「満年齢」の計算をしたいときは、  以前も紹介したカシオの計算サイト「keisan」を使うといいでしょう。

いま,何歳? - 高精度計算サイト「keisan」

ちなみに、坂本龍馬の日付で計算すると満年齢 31歳で亡くなったと計算できます。

 

中には西暦に 400年を加えると、同じ日付は同じ曜日になることを利用してエクセルで計算する方法を紹介しているページも見かけます。

エクセルで1900年以前が日付になりません - Yahoo!知恵袋

しかし、何件か年齢を計算するだけなら無理にエクセルを使わなくてもいいでしょう。

 

理解を深めるための「パソコン用語解説

スポンサーリンク

ご意見&コメント

パソコントラブルQ&A」をご利用いただき、ありがとうございます。

「参考になった」「ちょっと違うかも?」というときは TwitterFacebookページを使ってご感想やコメントをいただけると嬉しいです!励みにもなりますし、必要に応じて情報の追加や修正もしてまいります。

 

こちらの記事もいかがですか?(一部広告含む)

関連した記事を検索

パソコントラブルQ&A」「パソコン用語解説」では関連Q&Aや用語解説を豊富に掲載中です。検索してみてください!

年別Q&A (978 件)

編集長のプロフィール

編集長

:パソコン生活応援アドバイザー。「なにしろパソコン.com」サイト運営、メルマガ編集、セミナー講師からコラム・書籍執筆まで実績豊富!

「パソコントラブルQ&A」ではトラブル解決のヒントなども紹介していますが、解決をお約束するものではありません。 トラブルの深刻度やご利用のパソコン環境によっては効果がなかったり、ほかのトラブルを誘発する場合もあります。そのため、作業前に大切なデータは、ご自身で必ずバックアップをおこなってください。

本サイトを参考にしたパソコン設定、サイト閲覧、紹介したソフトウエアや機器の購入&使用、そしてトラブル対応やインターネット活用は『利用者の責任』でお願いします(免責事項)。