
Googleスプレッドシートの標準の「表示形式」には、「日付の和暦(令和・平成など)表示」が用意されていません。この記事では LET関数 や IFS関数 を組み合わせて、西暦で入力された日付を和暦に変換する方法を解説します。
西暦を和暦に変換する

以下の数式を入力し、オートフィルでコピーします。
例:=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))
【数式の解説】
- LET関数:数式内で繰り返し使うパーツに「名前」をつける関数です。今回の数式では、
yに 「西暦の年(YEAR(A2))」を、mdに 「〇月〇日の部分(TEXT(A2,"年m月d日"))」を割り当てています。 - IFS関数:「西暦が2018年より大きければ令和」「1988年より大きければ平成」と、条件を左から順に判定していきます。
📖 「1年」を「元年」にする場合:
例:=LET(y,YEAR(A2),md,TEXT(A2,"年m月d日"),IFS(y=2019,"令和元年"&TEXT(A2,"m月d日"),y>2018,"令和"&y-2018&md,y=1989,"平成元年"&TEXT(A2,"m月d日"),y>1988,"平成"&y-1988&md,y>1925,"昭和"&y-1925&md))
和暦を西暦に変換する

以下の数式を入力し、オートフィルでコピーします。
例:=SWITCH(REGEXEXTRACT(A2,"[^0-9]+"),"昭和",1925,"平成",1988,"令和",2018)+REGEXEXTRACT(A2,"[0-9]+")®EXEXTRACT(A2,"[0-9]+(.+)")
【数式の解説】
- SWITCH関数:指定した値を条件と一致するか判定し、一致した条件に対応する値を返す関数です。今回の数式では、元号をチェックして「昭和なら1925」「平成なら1988」「令和なら2018」という、それぞれの西暦の起点となる年に変換しています。
- REGEXEXTRACT関数: セルの中から「指定した文字や数字だけ」を抜き出す関数です。数式内で、それぞれ「元号の文字」「和暦の数字」「後ろの月日」をバラバラに抜き出して、最後に西暦の数字と結合させています。
📖 「元年」のデータがある場合:
例:=SWITCH(REGEXEXTRACT(SUBSTITUTE(A2,"元","1"),"[^0-9]+"),"昭和",1925,"平成",1988,"令和",2018)+REGEXEXTRACT(SUBSTITUTE(A2,"元","1"),"[0-9]+")®EXEXTRACT(SUBSTITUTE(A2,"元","1"),"[0-9]+(.+)")
西暦と和暦を変換する数式を登録する

【手順1】名前付き関数を開く
- メニューの 「データ」 ➔ 「名前付き関数」 をクリックします。
- 「新しい関数を追加」 をクリックします。

【手順2】関数の基本情報を入力する
- 以下のように、関数の基本情報を入力します。
- 関数名: WAREKI
- 関数の説明: 西暦の日付を和暦の文字列に変換します。
- 引数のプレースホルダ:
日付と入力して [Enter] を押します。
- 「数式の定義」 の欄に、西暦と和暦を変換する数式を貼り付け、セル参照(例:
A2)の部分を、先ほど定義したプレースホルダの日付に書き換えます。 - 「次へ」 をクリックします。

【手順3】
- 「作成」 をクリックします。(「引数の説明」や「引数の例」は省略してもOKです)
- セルに
=WAREKI(A2)を入力するだけで、西暦と和暦を変換できます。