• ベストアンサー

《Excel》○○年当時の年齢から、誕生年を「元号」で算出する方法

例:1980年当時、60歳であったが誕生年が不明である。   誕生年を元号で求めたいのですが… この場合、セルAを「1980」、Bを「60」と仮定してセルCにて「=A-B」と西暦で答えを求めてから書式_セル_ユーザー定義で「gggee」としましたが、出てくる答えが「明治38」となってしまい、AとBの数値を変えてもCの値が変化することはありません。 AとBの数値の他は不明です。どのようにしたら誕生年を元号で求められるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

A1、B1とし、元号は同年の1月1日現在の元号とした場合 以下のような式にしてはどうでしょうか。 =DATE(A1-B1,1,1)

matthew0912
質問者

お礼

早速ありがとうございます。 できました! が、A1とB1の差が21以上になると「平成1810年」などとおかしい数値になってしまいます。 あまりないケースではありますが…仕方がないでしょうか。 無知で申し訳ありませんが、ご教授お願いできればと思います。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

横から失礼します。 > A1とB1の差が21以上になると「平成1810年」などとおかしい数値に Excelの日付計算は通常だと 1900/1/1~9999/12/31 なので、A1とB1の差が1900未満 または 9999より大きいのでは? =IF(AND(A1-B1>=1900,A1-B1<=9999),DATE(A1-B1,1,1),"-")

matthew0912
質問者

お礼

おっしゃる通り1900年未満の数値になるとおかしな数値になるようでした。 示していただいた計算式も試してみます。 ありがとうございました。

noname#204879
noname#204879
回答No.2

[No.1回答に対するお礼]に対するコメント、 》 A1とB1の差が21以上になると… ン?ちょっと違うような。“A1とB1の差が 1900未満になると…”だと思いますが、如何でしょ。 Excel の日付の“紀元”が 1900/1/1 だからなのですよ。 -- Mike

matthew0912
質問者

お礼

回答ありがとうございます。 しばらく試してみたところ、21以上ではなくおっしゃる通り1900未満の値でした。 なぜかが分かりました。 ありがとうございました。