スポンサーリンク

GASで和暦表示用の関数を自作してみる

Google Apps Script(GAS)では、自分で関数も作ることができます。

そこで、Googleスプレッドシートでは、和暦の表示をすることができないため、自分で関数を作り表示する方法です。

関数の作り方

  1. スクリプトエディタを開く

スプレッドシートの「ツール」より「スクリプトエディタ」をクリックして、スクリプトエディタを開きます。

  1. スクリプトを入力する

開いたスクリプトエディタに以下のスクリプトをコピペで入力します。
以下のスクリプトは明治〜令和までの和暦表示をすることができるスクリプトになります。

/**
 * 西暦の日付を和暦で表示します。
 *
 * @param {Date} 西暦の日付
 * @return 和暦
 * @customfunction
 */
function wareki(d) {
  var mst = [
    ['2019/05/01', 2019, '令和'], 
    ['1989/01/08', 1989, '平成'],
    ['1926/12/25', 1926, '昭和'],
    ['1912/07/30', 1912, '大正'],
    ['1873/01/01', 1873, '明治']
  ];
  
  try {
    
    var df = Utilities.formatDate(d, 'Asia/Tokyo', 'yyyy/MM/dd');
  
    for (var i = 0; i < mst.length; i++) {
      if (mst[i][0] <= df) {
      
        var y = Utilities.formatDate(d, 'Asia/Tokyo', 'yyyy') - mst[i][1] + 1;
      
        if (y == 1) y = '元';
      
        return mst[i][2] + y + '年' + Utilities.formatDate(d, 'Asia/Tokyo', 'M月d日');
      }
    }
    return "-";
  }
  catch(ex) {
    throw new Error("日付を引数に設定してください。");
  }
}

スクリプトを貼り付けたスクリプトエディタは以下のようになります。

  1. スクリプトエディタを保存する

保存をするとプロジェクト名をつけるようにダイアログが表示されるので適当な名前をつけてOKをクリックします。

自作関数の使い方

通常の関数と一緒で、和暦の表示をしたいところへ、「=warek」と入力し引数に日付のセルを設定します。

すると、以下のように和暦の日付が表示されます。

スポンサーリンク
レンタルサーバー
おすすめの記事