Googleスプレッドシートで西暦を和暦に変換|数式と名前付き関数で効率化

Excelでは、セルの表示形式を「和暦」に設定するだけで、「令和6年2月13日」などの和暦表示が簡単にできます。

ですが、Googleスプレッドシートでは「和暦」の表示形式が存在せず、デフォルトでは西暦表示しかできません。

そこで、本記事ではGoogleスプレッドシートで数式を使って和暦変換する方法をご紹介します。

目次

西暦→和暦に変換する数式

  • A列の西暦日付を和暦に変換
  • 元号の初めの年は「元年」を表示
  • 令和・平成・昭和・大正までを和暦表示

長い数式ですが、次の数式を使えばGoogleスプレッドシートでも 令和・平成・昭和・大正の和暦表示が可能 です

(明治以前は同様の数式では計算できず、複雑になるため除外)

和暦に変換する数式  (A1セルの西暦を変換する場合)

=IF(A1>=DATE(2019,5,1), "令和" & IF(YEAR(A1)=2019, "元", YEAR(A1)-2018) & "年" & TEXT(A1,"m月d日"),
 IF(A1>=DATE(1989,1,8), "平成" & IF(YEAR(A1)=1989, "元", YEAR(A1)-1988) & "年" & TEXT(A1,"m月d日"),
 IF(A1>=DATE(1926,12,25), "昭和" & IF(YEAR(A1)=1926, "元", YEAR(A1)-1925) & "年" & TEXT(A1,"m月d日"),
 IF(A1>=DATE(1912,7,30), "大正" & IF(YEAR(A1)=1912, "元", YEAR(A1)-1911) & "年" & TEXT(A1,"m月d日"), 
 "計算外"))))

元号の整理

元号期間
令和2019年5月1日 ~ 現在
平成1989年1月8日 ~ 2019年4月30日
昭和1926年12月25日 ~ 1989年1月7日
大正1912年7月30日 ~ 1926年12月24日
(計算外)明治以前1912年7月29日以前

数式の説明

令和(2019年5月1日以降)
IF(A1>=DATE(2019,5,1), "令和" & IF(YEAR(A1)=2019, "元", YEAR(A1)-2018) & "年" & TEXT(A1,"m月d日"),
  • A1 が 2019年5月1日以降 なら「令和」とします。
  • YEAR(A1)=2019 の場合、「元」 を表示。それ以外は YEAR(A1)-2018 で 「令和〇年」 を計算します。
  • TEXT(A1, "m月d日") で 「〇月〇日」 を追加します。
平成(1989年1月8日~2019年4月30日)
IF(A1>=DATE(1989,1,8), "平成" & IF(YEAR(A1)=1989, "元", YEAR(A1)-1988) & "年" & TEXT(A1,"m月d日"),
  • A1 が 1989年1月8日~2019年4月30日 の間なら「平成」。
  • YEAR(A1)=1989 なら 「平成元年」。
  • それ以外は YEAR(A1)-1988 で 「平成〇年」 を計算します。
昭和(1926年12月25日~1989年1月7日)
IF(A1>=DATE(1926,12,25), "昭和" & IF(YEAR(A1)=1926, "元", YEAR(A1)-1925) & "年" & TEXT(A1,"m月d日"),
  • A1 が 1926年12月25日~1989年1月7日 の間なら「昭和」。
  • YEAR(A1)=1926 なら 「昭和元年」。
  • それ以外は YEAR(A1)-1925 で 「昭和〇年」 を計算します。
大正(1912年7月30日~1926年12月24日)
IF(A1>=DATE(1912,7,30), "大正" & IF(YEAR(A1)=1912, "元", YEAR(A1)-1911) & "年" & TEXT(A1,"m月d日"),

A1 が 1912年7月30日~1926年12月24日 の間なら「大正」。

YEAR(A1)=1912 なら 「大正元年」。

それ以外は YEAR(A1)-1911 で 「大正〇年」 を計算します。

1912年以前(計算外)
"計算外"
  • 1912年7月29日以前(明治以前) は 「計算外」 として処理します。

「名前付き関数」を設定して簡単に使う方法

名前付き関数を使うことで数式を省略可

先ほどの数式は長いため、A1セル以外のセルでも適用しようとすると、毎回コピー&ペーストする必要があり、手間がかかります。

そこで、「名前付き関数」 を使えば、「=和暦(A1)」のようにシンプルな数式で和暦変換ができるようになります。

複数のセルでも簡単に適用できるため、作業効率が向上します。

名前付き関数の設定方法

STEP
[データ] → [名前付き関数] を選択

上部メニューから「データ」ー「名前付き関数」を選択します。

(右クリックメニューからでも可)

STEP
「新しい関数を追加」 をクリック

画面右側に表示される名前付き関数から「新しい関数を追加」をクリックします。

STEP
関数名を入力

関数名と説明に自分が分かりやすい内容を入力します。

関数名: 和暦(好きな名前でOK)

説 明:指定した日付を和暦に変換します

STEP
引数名を入力

引数名(関数に渡すデータ)を入力します。

引数名:日付(好きな名前でOK)

STEP
数式を入力

「数式の定義」に以下の数式を貼り付けます。

=IF( 日付 >= DATE(2019,5,1), "令和" & IF(YEAR(日付)=2019, "元", YEAR(日付)-2018) & "年" & TEXT(日付,"m月d日"),
 IF( 日付 >= DATE(1989,1,8), "平成" & IF(YEAR(日付)=1989, "元", YEAR(日付)-1988) & "年" & TEXT(日付,"m月d日"),
 IF( 日付 >= DATE(1926,12,25), "昭和" & IF(YEAR(日付)=1926, "元", YEAR(日付)-1925) & "年" & TEXT(日付,"m月d日"),
 IF( 日付 >= DATE(1912,7,30), "大正" & IF(YEAR(日付)=1912, "元", YEAR(日付)-1911) & "年" & TEXT(日付,"m月d日"),
 "計算外"))))
STEP
作成をクリックして完成

「作成」をクリックします。

関数が表示されれば作成完了です。

名前付き関数の使い方

該当のセルに以下の数式を入力します。

(C2 セルを参照する場合)

=和暦(C2)


また、アレイフォーミュラ関数(ARRAYFORMULA)を使うと、複数のセルを一括で変換 できます。

(C2からC10セルを一括変換する場合)

=ARRAYFORMULA(和暦(C2:C10))

データが多い場合、手動で数式をコピーしなくても済むので便利です!

まとめ

Googleスプレッドシートでは、Excelのように和暦を直接表示することはできませんが、数式を使うことで和暦への変換が可能です。

ですが、IF関数を使うと数式が長くなってしまうため、「名前付き関数」を設定することで、より簡単に利用できます。

和暦に変換したいデータが少ない場合は、インターネットで調べる方が手軽ですが、大量のデータを扱う場合は、数式を活用すると作業効率が向上します。

弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。

GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。

また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。

貴方の業務改善を全力でサポートいたします。

お問い合わせはこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次