プロが教えるわが家の防犯対策術!

例:1980年当時、60歳であったが誕生年が不明である。
  誕生年を元号で求めたいのですが…

この場合、セルAを「1980」、Bを「60」と仮定してセルCにて「=A-B」と西暦で答えを求めてから書式_セル_ユーザー定義で「gggee」としましたが、出てくる答えが「明治38」となってしまい、AとBの数値を変えてもCの値が変化することはありません。

AとBの数値の他は不明です。どのようにしたら誕生年を元号で求められるでしょうか?

A 回答 (3件)

A1、B1とし、元号は同年の1月1日現在の元号とした場合


以下のような式にしてはどうでしょうか。
=DATE(A1-B1,1,1)
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
できました!

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

お礼日時:2006/03/10 21:17

横から失礼します。



> 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),"-")
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/11 00:13

[No.1回答に対するお礼]に対するコメント、



》 A1とB1の差が21以上になると…

ン?ちょっと違うような。“A1とB1の差が 1900未満になると…”だと思いますが、如何でしょ。
Excel の日付の“紀元”が 1900/1/1 だからなのですよ。

--
Mike
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/11 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!