- ベストアンサー
《Excel》○○年当時の年齢から、誕生年を「元号」で算出する方法
例:1980年当時、60歳であったが誕生年が不明である。 誕生年を元号で求めたいのですが… この場合、セルAを「1980」、Bを「60」と仮定してセルCにて「=A-B」と西暦で答えを求めてから書式_セル_ユーザー定義で「gggee」としましたが、出てくる答えが「明治38」となってしまい、AとBの数値を変えてもCの値が変化することはありません。 AとBの数値の他は不明です。どのようにしたら誕生年を元号で求められるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1、B1とし、元号は同年の1月1日現在の元号とした場合 以下のような式にしてはどうでしょうか。 =DATE(A1-B1,1,1)
その他の回答 (2)
- papayuka
- ベストアンサー率45% (1388/3066)
横から失礼します。 > 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),"-")
お礼
おっしゃる通り1900年未満の数値になるとおかしな数値になるようでした。 示していただいた計算式も試してみます。 ありがとうございました。
[No.1回答に対するお礼]に対するコメント、 》 A1とB1の差が21以上になると… ン?ちょっと違うような。“A1とB1の差が 1900未満になると…”だと思いますが、如何でしょ。 Excel の日付の“紀元”が 1900/1/1 だからなのですよ。 -- Mike
お礼
回答ありがとうございます。 しばらく試してみたところ、21以上ではなくおっしゃる通り1900未満の値でした。 なぜかが分かりました。 ありがとうございました。
お礼
早速ありがとうございます。 できました! が、A1とB1の差が21以上になると「平成1810年」などとおかしい数値になってしまいます。 あまりないケースではありますが…仕方がないでしょうか。 無知で申し訳ありませんが、ご教授お願いできればと思います。