Excel で西暦を和暦に変換します

「西暦 2011 年は平成何年?」
と問われても、なかなか咄嗟には答えられないですよね。
「ええと、 2018 年が平成 30 年だから ...... 」
というふうに少し考えないと答えがでません。でも大丈夫! エクセルなら大丈夫! 我らのエクセルさんが西暦を平成に、平成を西暦に、ぱぱっと変換してくれます! だから大丈夫! え? 今日はいつにも増してこばとのテンションが高い? そうですか? ...... それは夏だから! まあ、とにかく話を進めましょ~。
 

西暦表示を和暦表示に変えます

 「西暦」⇔「和暦」の変換は特に関数を使わなくてもできます(関数を使う方法はあとで説明します)。それはとっても簡単。[セルの書式設定] で表示形式を変えてしまえばいいのです。

 まずは、こんなふうに日付を西暦でセルに入れておきましょ~。

 Excel西暦の日付

 次に [セルの書式設定画面] を表示させましょう。Excel2013 ならば、日付の入力されたセルを選択した状態で [ホーム]、[表示形式] を順に押して、メニューの一番下にある [その他の表示形式] を選択します。

 Excelその他の表示形式

 あるいはセルを右クリックして [セルの書式設定画面] を表示させることもできます(この手順ならば、Excel のバージョンを問いません)。画面が表示されたら、 [カレンダーの種類] から [和暦] を選択しましょう。

 Excel和暦を選択

 元号表記を「 H 」か「平成」か2通り選べるので、好きな方を選択しましょ~。

 Excel平成の形式を選択

 [Enter] キーを押すと、日付が平成表記に変わります!

 Excel西暦を和暦に変換

 めでたし、めでたし。
 え? 関数はどうした? 早く教えろ?
 ...... 別に上の方法でやれるんだから、関数いらないと思うけど ...... まあ、どうしてもっていうんなら ...... あまり「関数、関数」と言ってるとエクセルオタクになっちゃいますよ?
 

TEXT関数で西暦を和暦に変えます

 関数で日付の表示形式を変える方法はいくつかありますが、一番簡単で素直な方法は TEXT関数を使うやり方です。「シリアル値が云々 ...... 」という面倒な話も出てこないしね。TEXT関数を使うときは

=TEXT(値,表示形式)

の形式で入力します。[値] には日付を入れます。[表示形式] のところに
「西暦と和暦どちらにするのか、曜日を表示するのか」
というようなことをコードで指定します。とりあえず下の図のようなシートを用意してセル C4 に

=TEXT(C3,"ggge年mm月dd日")

と入力すると、セル C3 の西暦表示が和暦表示に変換されます。

 ExcelのTEXT関数で暦を変換

 "ggg" が和暦の元号、"e" が和暦の年数にあたる部分です。"ggg" をたとえば "gg" とすると「平成」の「平」のみが表示されます。"yy", "mm", "dd" はそれぞれ年、月、日の表示を指定するコードです。で、これをまた逆に西暦に変換するには

=TEXT(C4,"yyyy年mm月dd")

と入力します。「2018年07月27日」と表示されるはずですよ。ちなみに yyyy を yy にすると下 2 桁の "18年" だけ表示されます。まあ、このあたりは適当に使い分けてくださいな。
 

VBA Format関数で西暦を和暦に変換

 ついでに VBA で西暦を和暦に変える方法も載せておきましょ~。使用するのは日付の書式設定をする Format関数 です:

=Format(日付,書式)

 たとえば現在の日付を和暦の形で得るには

= Format(Now, "ggge年mm月dd日")

というように記述します。下のコードをコピーして試してみてくださいな。それでは本日はこのへんで~。

 '日付を和暦で表示します

 Sub Wareki()

  Dim x As String

  x = Format(Now, "ggge年m月d日")

  Debug.Print x

 End Sub

 ≫ VBA 辞典メニューには色々な記事がありますよ~♪

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください