石田修二ホームページ > JavaScript講座 >    (サイト内検索

Googleスプレッドシートに和暦西暦早見表

GoogleスプレッドシートでJavaScriptを実行できるというのでやってみました。

クジラ飛行机さんが日経 PC online に書いておられる記事「Googleスプレッドシートに「和暦西暦早見表」を作成しよう」を参考にしています。

var COUNTDOWN_YEAR=100;

function makeList() {
  var thisyear=(new Date()).getFullYear();
  var result=[];
  for (var i=0; i <COUNTDOWN_YEAR;i++){
    var year=thisyear-i;
    var wareki=seireki2wareki(year);
    var eto=seireki2eto(year);
    result.push([year,wareki,eto,"満"+i+"才"]);
  }
  var sheet=SpreadsheetApp.getActiveSheet();
  sheet.getRange(1,1).setValue("和暦西暦早見表"+thisyear+"年版");
  sheet.getRange(2,1,COUNTDOWN_YEAR,4).setValues(result);  
};

function onOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries =[{
    name : "表を作る",
    functionName : "makeList"
  }];
  spreadsheet.addMenu("和暦西暦早見表 作る", entries);
};

function seireki2wareki(y) {
  var warekiData = [
    {gen:"明治", year: 1868, yearTo:1911},
    {gen:"大正", year: 1912, yearTo:1925},
    {gen:"昭和", year: 1926, yearTo:1988},
    {gen:"平成", year: 1989, yearTo:9999}
  ];
  var gen = "西暦";
  var nen = y;
  for (var i = 0; i <warekiData.length; i++){
    var w = warekiData[i];
    if (w.year <= y && y <= w.yearTo){
      gen = w.gen;
      nen = y - w.year +1;
    }
  }
  if (nen == 1) nen = "元";
  return gen + "" + nen + "年"
}

function seireki2eto(y){
  var eto_a = ["子", "丑", "寅", "卯", "辰", "巳", 
               "午", "未", "申", "酉", "戌", "亥"];
  return eto_a[(y-1564)%12];
}

入力が終わったら,[ファイル]から[名前の変更]を選択して,まずはプロジェクト名をつけておきます。

次に[ファイル]−[保存]とクリックして,コードに名前をつけておきます。

実行

[実行]−[makeList]の順にクリックします。すると,スプレッドシートの方に実行結果が表示されます。

スプレッドシートのメニューバーに「和暦西暦早見表 作る」というのができていることにも注目して下さい。


リンクはご自由にどうぞ。

【石田修二トップページ】  【JavaScript】

Last modified: 2015-03-07 19:40:34