スプレッドシートで西暦⇔和暦を変換したい

Googleスプレッドシートで、西暦から和暦に変換したいと思ったことはありませんか?例えば西暦2022年は和暦にすると令和4年ですが、1990年や1980年を和暦にした場合パッと年号が出てこないことも珍しくないはずです。
そこで、スプレッドシートで関数を使用して西暦を和暦に変換してみましょう。この記事では、スプレッドシートで西暦⇔和暦を変換する方法をご紹介しています。
スプレッドシートで西暦⇔和暦を変換する方法

それでは、スプレッドシートで西暦⇔和暦を変換する方法を説明します。まずは和暦に変換するためのカスタム関数を作成する必要があるので、Google Apps Scriptを起動しましょう。画面上部の「拡張機能」メニューを開き、「Apps Script」をクリックしましょう。

Google Apps Scriptが起動するので、下記のコードを入力して保存・実行を行いましょう。
const warekiFormat = new Intl.DateTimeFormat("ja-JP-u-ca-japanese", {
era: "long",
year: "numeric",
});
/**
* 日付から和暦の年を返す
* @param {number|Date} date - 日付
* @return {string} 和暦の年の文字列
* @customfunction
*/
function WAREKI(date) {
let dateObject;
if (typeof date === "number") {
dateObject = new Date(date, 0, 1);
} else if (date instanceof Date) {
dateObject = date;
} else {
throw new Error("Invalid date " + typeof date);
}
return warekiFormat.format(dateObject);
}

これで、関数「WAREKI」が使用可能になります。WAREKI関数の数式は「=WAREKI(日付)」です。和暦で表示させたい西暦を指定すれば、和暦に変換してくれますよ。画像ではC2セルに「=WAREKI(B2)」と入力して、B2セルの西暦を和暦に変換しています。

これでB2セルの「2022/10/27」の年数を西暦から計算して、和暦の「令和4年」と返すことができました。

平成や昭和など古い和暦にも対応しているので、このように簡単に西暦から和暦表示に変換することが可能です。これで「この年は和暦だと平成?昭和?」といった悩みから開放されますよ。