【エクセル】西暦から令和へ変換する関数

2022年8月18日

エクセルで和暦を表示する場合、officeのアップデートが入っていればセルの書式設定で「令和」で表示できます。
ただ、以下のような問題もあります。

・「令和元年」に対応していない(令和1年と表示される)
・テキストデータで取り出せない(エクセル上では2021/1/1などの扱いになる)
・何らかの理由でパソコンが令和対応していない(=officeアップデートが入っていない)

以上の問題を解消するために関数で和暦に変換します。

セルの書式設定で「令和」が出る場合

この場合、テキストで和暦を取り出すのは簡単ですが、元年対応をするために以下の関数にしました。
(A1セルに元となる日付が入っている想定です)

=TEXT(A1,”ggg”)&IF(TEXT(A1,”e”)=”1″,”元年”,TEXT(A1,”e年”))&TEXT(A1,”m月d日”)

こちらは昭和元年や平成元年にも対応しています。

セルの書式設定で「令和」が出ない場合

この場合はちょっと長いですが、以下のようにしました。

=IF(A1>=43586,”令和”&IF(YEAR(A1)-2018=1,”元”,YEAR(A1)-2018)&”年”&TEXT(A1,”m月d日”),TEXT(A1,”gggee年m月d日”))

パソコンが令和を認識していないので、2019年5月1日以降は頭に「令和」を付けています。
こちらは「令和元年」には対応していますが、昭和や平成は「1年」で表示されます。

まとめ

なぜ今頃令和対応?と思われたと思いますが、会社のパソコンでofficeアップデートが入っているのに令和を認識していないパソコンがあり、急遽関数を作ることになりました。
(税務署に出す資料は全て和暦なので和暦表示が必要)
同じような謎の不具合に悩まれている方の参考になれば幸いです。