- ベストアンサー
エクセル関数で和暦の認識方法
ワークシートでDATE関数を使用する場合 A1に年、A2に月、A3に日があるとすると、 =DATE(A1,A2,A3) でシリアル値がわかりますが、A1に平成17などと入れられるとエラーになります。 こういった場合(A1に西暦でも和暦でもどちらが入るかわからない場合)でも、シリアル値をもとめるためにはどのようにすればよいのでしょうか? シリアル値を求める目的は、入力された日付が実在する日付かどうかを確認するためです。ですからシリアル値をもとめる以外にいい方法があればそれでもかまいません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
発想を転換し、年、月、日を別々に入力させず、平成17年2月22日または2005/2/22のように入力させれば、エクセルは日付けと認識しますよね。次に必要に応じyear関数やmonth関数、day関数で年、月、日をもとめたらいかがでしょう? 入力する側から見れば、3つのセルに入れるよりは1つのセル入力した方が楽なのではないでしょうか?
その他の回答 (2)
- fukkyse
- ベストアンサー率32% (130/402)
もっと簡単に整理できるのでしょうけれども、 =DATEVALUE(SUBSTITUTE(SUBSTITUTE(ASC(A1),"H","平成"),"h","平成")&"年"&A2&"月"&A3&"日") 昭和がある場合には、更に"S"を"昭和"に…。
お礼
ありがとうございます。 今回はNo2さんの方法で対応しましたが、SUBSTITUTEの組み合わせで略号も対応できますね。 勉強になりました。
- hanka2
- ベストアンサー率38% (15/39)
これでどうかな? =DATEVALUE(A1 & "年" & A2 & "月" & A3 & "日") これなら平成17でもOKです。 但しH17はダメみたい。
お礼
早速ありがとうございます。 なるほど、DATEVALUEが使えるんですね、勉強になりました。
お礼
そうか、何も年、月、日を別セルにわけて入力させなくともいいわけですね!目からウロコです。 今回はこの方法を採用します! ありがとうございました。