kintone関数で和暦を表示する!(アプリテンプレート付き)
※ 本記事は 2020年5月13日 に公開した内容です。kintone の画面や仕様はその後変更されている場合があります。
みなさんこんにちは。プロジェクト・アスノートの松田です。
この記事は、YouTube動画との連動企画です。
標準機能で和暦を表示する(kintone関数の活用アイデア)
https://youtu.be/0PUYCrjuWZI

上の図のように、日付フィールドの日付から、和暦の年月日を表示するためのフォーム設定の方法です。
計算機能や関数を利用しますが、今回は一発で計算することができません。途中過程として2つの中間フィールドが必要となります。
—|—|—
年月日| 計算| DATE_FORMAT(日付, “YYYYMMdd”, “system”)
年| 計算| DATE_FORMAT(日付, “YYYY”, “system”)
これらの中間フィールドを使って、元号を判断し和暦表示するための自動計算を設定します。
ポイントは、2つの中間フィールドのフィールドタイプが計算フィールドとなっていることです。計算式の中で数値の大小比較(>=)や引き算を行っています。このような大小比較、数値演算はデータ形式が数値でないとエラーとなってしまいます。
計算フィールドの計算式でDATE_FORMAT関数を使うと、結果が数値の場合はデータの形式が文字列ではなく、数値として扱えるようになります(計算フィールドの文字列→数値変換機能)。
2020年1月の kintoneアップデートで、DATE_FORMAT関数が計算フィールドでも使用できるようになりました。これによって上記のようなことが可能となりました。

計算式サンプル
IF(年月日 >= 20190501, "令和" & 年-2018 & "年",
IF(年月日 >= 19890108, "平成" & 年-1988 & "年",
"昭和" & 年-1925 & "年"
)
) & DATE_FORMAT(日付, "M月d日", "system")
もう少し関数を応用すると「元年」表示も可能になります。

計算式サンプル
IF(年月日 >= 20190501,
"令和" & IF(年-2018 = 1, "元", 年-2018) & "年",
IF(年月日 >= 19890108,
"平成" & IF(年-1988 = 1, "元", 年-1988) & "年",
"昭和" & IF(年-1925 = 1, "元", 年-1925) & "年"
)
) & DATE_FORMAT(日付, "M月d日", "system")
今回紹介したのは、kintoneの計算、関数を活用して和暦の元号表示を行うという方法でした。他にも関数を活用することで、さまざまな応用が可能です。従来であればJavaScriptカスタマイズが必要なことも、関数の充実によってかなりのことが実現できるようになりました。
質問や新しいアイデアがありましたら、動画のコメントか、ツイッターやお問い合わせフォームから連絡してください。
“和暦表示アプリテンプレート” をダウンロード 和暦表示App_元年あり.zip – 15268 回のダウンロード – 17.13 KB
関連
kintone の活用・業務改善についてご相談があれば、お問い合わせ からお気軽にどうぞ。