西暦を元号に変換/「〇〇〇〇年」しかないものから元号を抽出DATESTRING(デイトストリング)関数、他

セルに日付を入力し、セルの書式設定から和暦に変更すれば元号表示することができます。

「令和〇年〇月〇日」といった具合に。

普段はこれだけで十分なのですが、例えば西暦に入力されているのが「2020年」「1998年」といった場合。

Excelでは日付はシリアル値になっているので、上記のような文字列では日付と認識されないため、セルの書式設定で和暦を選択しても書式を変更することができません。

これを元号表示にしてみましょう。

DATESTRING(デイトストリング)関数と、TEXT関数が使えます。

こちら・・・



まずは基本的な使い方です。

DATESTRING関数は、Excelの関数の挿入の一覧には入っていません。

手入力をする必要があります。

セルに「=DATESTRING(セル番地)」と入力してみましょう。
下図は「A1」に日付を入力し、「B1」に関数を入力しました。

134

関数の値は元号で表示されました。

では最初に説明したような「〇〇〇〇年」という文字列だけだった場合にはどうするか。

一旦日付と認識させてから元号部分だけ取り出してみます。

下図をご覧ください。
A列にある年度をB列のように変換しています。

135

式は以下のようになります。

=LEFT(DATESTRING(DATE(LEFT(A1,4),1,1)),5)

・DATE(LEFT(A1,4),1,1)の部分で「1980年1月1日)と一旦日付の形式に変更しています。

・DATESTRING で元号表示に変換しています。

・先頭のLEFT関数で、元号表示にされた日付の先頭から5文字分を取り出しています。

・結果「令和〇年」と抽出できました。元号はその年度によって自動的に変更されますので、平成でも昭和でも問題ありません。

以上がDATESTRING関数での抽出方法です。

しかし実はTEXT関数を使った方がもっと分かりやすい式でできちゃいます。

以下の式です。

=TEXT(DATE(LEFT(A1,4),1,1),"ggge年")

分かりやすいですね。

これだけで同じように表示できます。

最後の表示形式を「"ge"」とすれば「R」「H」「S」の表示にもできます。

私はTEXT関数の方を使っています。
分かりやすい方がいいですからね。