• ベストアンサー

エクセルで数列を和暦+月日に変換

いつもお世話になっております。 excel2010にて、次のような数列を和暦+月日に変換したいと考えています。 例)3150927 3 → 1=明治、2=大正、3=昭和、4=平成 15 → 15年 09 → 9月 27 → 27日 →昭和15年9月27日 年号がクセモノで、どう処理すればいいか見当が付きません。 何卒よろしくお願いいたします。

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

  • ベストアンサー
  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

あらかじめSheet2のA1からB4までに 1 明治 2 大正 3 昭和 4 平成 という表を作りこの範囲に元号という名前を定義しておきます。 Sheet1のA1に3150927が入っているとします。 こんな式でどうでしょうか。 =VLOOKUP(VALUE(LEFT(A1,1)),元号,2)&MID(A1,2,2)&"年"&MID(A1,4,2)&"月"&RIGHT(A1,2)&"日"

ninnikutips
質問者

お礼

すごい、あっという間にこんなに回答が集まるなんて! 一番早くに回答をくださったakiomyauさんをベストアンサーとさせて頂きました。 バッチリ出来ました。 LEFT、MID、RIGHT関数はこれまで使ったことがありませんでしたが 文字列を操作する関数なのでしょうか。勉強になりました。 どうもありがとうございました。

その他の回答 (4)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

他の方と若干かぶりますが、 =DATEVALUE(CHOOSE(LEFT(A1,1),"明治","大正","昭和","平成")&MID(A1,2,2)&"年"&MID(A1,4,2)&"月"&RIGHT(A1,2)&"日") とかでも。 表示形式を「ggge"年"m"月"n"日"」で。

ninnikutips
質問者

お礼

chonamiさん、どうもありがとうございました。 いやはや、パッと出てくるなんて皆さんすごいです。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.4

3150927がA1セルに有る場合で、セルの表示形式を日付の和暦にする場合は、 =VALUE(CHOOSE(LEFT($A$1,1),"明治","大正","昭和","平成")&VALUE(MID($A$1,2,2))&"年"&VALUE(MID($A$1,4,2))&"月"&VALUE(MID($A$1,6,2))&"日")

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.3

3150927がA1セルに有る場合ですが、 =CHOOSE(LEFT($A$1,1),"明治","大正","昭和","平成")&VALUE(MID($A$1,2,2))&"年"&VALUE(MID($A$1,4,2))&"月"&VALUE(MID($A$1,6,2))&"日"

ninnikutips
質問者

お礼

aokiiさん、どうもありがとうございました。 これまでCHOOSEとVALUEも使ったことがなかったので、改めて調べてみたいと思います。

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

>年号がクセモノで、どう処理すればいいか見当が付きません。 if文で処理すると長くなるので、数字と年号との対応を記述した別表を作成してvlookupで参照するのが簡単でしょう。 例えば a1に数列があり、別表がD1:E5にあったとして =(VLOOKUP(LEFT(A1,1)*1,$D1:$E5,2)&MID(A1,2,2)&"/"&MID(A1,4,2)&"/"&RIGHT(A1,2))*1 とすればOKです。 最後に表示形式で和暦表示にしてください。

ninnikutips
質問者

お礼

shintaro-2さん、どうもありがとうございました。

関連するQ&A