計算式プラグインで和暦変換

計算式プラグインを使って、日付から元号和暦年を自動算出します。


できること

  • 日付 → 元号(明治〜令和)
  • 日付 → 和暦年(1年は元年に置換も可)
  • テーブル内項目にもそのまま適用

テーブル利用時は、日付T / 元号T / 年T / 和暦表記T のようにフィールドコードだけ変えて使えます。


基本の計算式

// 元号 DROP_DOWN
LET(
  fDate, DATE_FORMAT(日付), // 日付取得
  IFS(
    fDate >= "2019-05-01", "令和",
    fDate >= "1989-01-08", "平成",
    fDate >= "1926-12-25", "昭和",
    fDate >= "1912-07-30", "大正",
    fDate >= "1868-01-25", "明治",
    "" // 無効日
  ),
)

// 年 NUMBER
LET(
  fDate, DATE_FORMAT(日付), // 日付取得
  eDate, IFS(
    fDate >= "2019-05-01", "2019-01-01", // 令和
    fDate >= "1989-01-08", "1989-01-01", // 平成
    fDate >= "1926-12-25", "1926-01-01", // 昭和
    fDate >= "1912-07-30", "1912-01-01", // 大正
    fDate >= "1868-01-25", "1868-01-01", // 明治
    "" // 無効日
  ),
  IF(eDate, DATE_DIFF(eDate, fDate, "year")+1) // 年差分
)

// Table.元号T DROP_DOWN
LET(
  fDate, DATE_FORMAT(日付T), // 日付取得
  IFS(
    fDate >= "2019-05-01", "令和",
    fDate >= "1989-01-08", "平成",
    fDate >= "1926-12-25", "昭和",
    fDate >= "1912-07-30", "大正",
    fDate >= "1868-01-25", "明治",
    "" // 無効日
  ),
)

// Table.年T NUMBER
LET(
  fDate, DATE_FORMAT(日付T), // 日付取得
  eDate, IFS(
    fDate >= "2019-05-01", "2019-01-01", // 令和
    fDate >= "1989-01-08", "1989-01-01", // 平成
    fDate >= "1926-12-25", "1926-01-01", // 昭和
    fDate >= "1912-07-30", "1912-01-01", // 大正
    fDate >= "1868-01-25", "1868-01-01", // 明治
    "" // 無効日
  ),
  IF(eDate, DATE_DIFF(eDate, fDate, "year")+1) // 年差分
)

参考Qiita記事

rex0220 計算式プラグイン 和暦変換