日付フィールドから年度を無理やり計算するアプリを作ってみました。
@nakaji32 さんに計算フィールドでDATE_FORMAT(日付, "YYYY", "Asia/Tokyo")ができると教えてもらいまして、修正しました(ノω・)テヘ
nakaji32 さん、ありがとうございました✨✨
日付を選ぶと年度を計算してくれます↓
フォーム
年度始まりの月を設定します。
変換した月が年度始まりの月未満だったら年から1を引きます。
フィールド
フィールド種類 | フィールド名/コード式 | 計算式など |
---|---|---|
日付 | 日付 | |
計算 | 年 | DATE_FORMAT(日付, "YYYY", "Asia/Tokyo") |
計算 | 月 | DATE_FORMAT(日付, "M", "Asia/Tokyo") |
数値 | 年度始まりの月 | |
計算 | 年度 | IF(月<年度始まりの月,年-1, 年) |
しくみ
年の文字列を年の数値に変換する
まず、kintone標準機能では文字列→数値の変換ができないので
日付の年を数値で取り出すことができません。
そこで、テーブルに↓のような文字列→数値変換対応する値を入力しておき(Excel読み込み)
IF(年文字=年文字t, 年数値,0)
の数式で、日付から取り出した年と等しければその年を、等しくなければ0とします。
この列のSUMをとれば、年の文字列を年の数値に「無理やり」変換することができます。
月も同様です。
年を年度に変換する
同様に日付の月も数値で取り出したら、年度始まりの月(例では4にしています)と比較し、4以上だったら今年を年度に、4未満だったら昨年を年度にします。
IF(月<年度始まりの月,年-1, 年)
まとめ
以上のように、日付から年度に無理やり変換してみました。
kintoneの日付はUNIX時間のようなので2038年問題が関係してきますが、きっとその前に日付などの仕様が変更になって使いやすくなるんじゃないかなぁ~と思います。