スプレッドシートの表示形式には、日付の和暦表示がありません。そこで今回は西暦で入力された日付を、和暦に変換する数式をご紹介します。作成した数式に名前を定義することで、誰でも使える自作関数を作成する方法も解説しているので、ぜひ参考にしてみてください。
西暦を和暦に変換する方法
西暦を和暦に変換する数式は、以下のとおりです。
LET(y,YEAR(A2),md,TEXT(A2,"年"&"m月d日"),IFS(y>2018,"令和"&y-2018&md,y>1988,"平成"&y-1988&md,y>1925,"昭和"&y-1925&md))
YEAR関数で日付から年度のみ取り出し、TEXT関数で日付を月日に変換しています。TEXT関数の表示形式の設定により曜日を追加したり、区切り文字を変更することも可能です。
TEXT関数の構成要素:(数値, 表示形式)
LET関数は値式の結果に名前を割り当てることで、数式内で名前を使った計算を可能にします。
例:LET(y,YEAR(A2),md,TEXT(A2,”年”&”m年d日”),IFS…)
例の場合、数式(IFS…)の y 部分にYEAR(A2)の結果 1986 を、md 部分にTEXT(A2,”年”&”m年d日”) の結果 年6月16日 を返します。
LET関数の構成要素:(名前 1, 値式 1, [名前 2, …], [値式 2, …], 数式)
IFS関数は指定した複数の条件のうち、最初に成立した条件の値を返します。
y=1986を当てはめると最初に成立するのは条件3なので、返り値は値3です。値3の y と md に各値式の結果を当てはめると、昭和61年6月16日 になります。
IFS関数の構成要素:(条件1, 値1, [条件2, 値2, …])
西暦を和暦に変換する関数の作成方法
複数の関数を使った処理を、新しい1つの関数として作成します。
まずデータタブの[名前付き関数]を開き、[新しい関数を追加]をクリックしてください。
任意の関数名と、関数の説明を入力します。
引数のプレースホルダには、関数が要求する入力の種類を定義してください。数式の定義に[西暦を和暦に変換する方法]の数式を貼り付け、セル参照(A2)部分を[入力の種類]に置き換えます。
[次へ]をクリックします。
既に存在する関数名は使用できません。
関数の補足情報の入力に移行しますが、こちらは省略してもOKです。
それぞれ[引数の説明]と[引数の例]は、関数を入力したときに上図のように表示されます。最後に[作成]をクリックすれば自作関数の完成です。
作成した関数名を入力し、引数の日付を入力するだけで西暦を和暦に変換できます。