• ベストアンサー

エクセル関数で和暦の認識方法

ワークシートでDATE関数を使用する場合 A1に年、A2に月、A3に日があるとすると、 =DATE(A1,A2,A3) でシリアル値がわかりますが、A1に平成17などと入れられるとエラーになります。 こういった場合(A1に西暦でも和暦でもどちらが入るかわからない場合)でも、シリアル値をもとめるためにはどのようにすればよいのでしょうか? シリアル値を求める目的は、入力された日付が実在する日付かどうかを確認するためです。ですからシリアル値をもとめる以外にいい方法があればそれでもかまいません。 よろしくお願いします。

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

  • ベストアンサー
回答No.2

発想を転換し、年、月、日を別々に入力させず、平成17年2月22日または2005/2/22のように入力させれば、エクセルは日付けと認識しますよね。次に必要に応じyear関数やmonth関数、day関数で年、月、日をもとめたらいかがでしょう? 入力する側から見れば、3つのセルに入れるよりは1つのセル入力した方が楽なのではないでしょうか?

error123
質問者

お礼

そうか、何も年、月、日を別セルにわけて入力させなくともいいわけですね!目からウロコです。 今回はこの方法を採用します! ありがとうございました。

その他の回答 (2)

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.3

もっと簡単に整理できるのでしょうけれども、 =DATEVALUE(SUBSTITUTE(SUBSTITUTE(ASC(A1),"H","平成"),"h","平成")&"年"&A2&"月"&A3&"日") 昭和がある場合には、更に"S"を"昭和"に…。

error123
質問者

お礼

ありがとうございます。 今回はNo2さんの方法で対応しましたが、SUBSTITUTEの組み合わせで略号も対応できますね。 勉強になりました。

  • hanka2
  • ベストアンサー率38% (15/39)
回答No.1

これでどうかな? =DATEVALUE(A1 & "年" & A2 & "月" & A3 & "日") これなら平成17でもOKです。 但しH17はダメみたい。

error123
質問者

お礼

早速ありがとうございます。 なるほど、DATEVALUEが使えるんですね、勉強になりました。

関連するQ&A