日付のほとんどの扱いは西暦なのだが、Excelで和暦を扱う必要が出てきたので、関数だけで実装してみた。和暦の年号も明治=1、大正=2、…、令和=5と変換が必要だったので実装した。
A1セルに日付が数値で入っているとして、それぞれ以下の式で変換できる。
年号: LOOKUP(TEXT(A1,"g"),{"H","M","R","S","T"},{4,1,5,3,2})
年月日: TEXT(A1,"eemmdd")+0
解説
- 【年号】表示形式
g
でアルファベット1文字の元号になる。
LOOKUP関数の変換元は昇順に並んでる必要がある。
それぞれH (平成) = 4、M (明治) = 1、…、T (大正) = 2と変換される。 - 【年月日】表示形式
ee
で和暦の年に変換される。
+0
で強制的に数値に変換する。