プラグインやjavascriptを用いず、中間フィールドを使わず、
1項目で対象日付の年度を取得してみました。
結論
計算フィールド(または文字列1行の自動計算)に下記計算式で年度が得られます。
対象日付のフィールドコードが「日付」で、4月はじまりの例です。
計算式.kintone
IF(
OR(
DATE_FORMAT(日付, "M", "system") = "1",
DATE_FORMAT(日付, "M", "system") = "2",
DATE_FORMAT(日付, "M", "system") = "3"
),
DATE_FORMAT(日付 - 3*31*24*60*60, "YYYY", "system"),
DATE_FORMAT(日付, "YYYY", "system")
)
説明
概要
1~3月は 3か月分引いた年が年度と等しい、
他の月は年と年度が等しい、という計算をしています。
条件部
まずIFの条件部分、ここで翌年にずれ込んでいるものを判定しています。
(数値に変換できないようなので不等号での条件指定ができません)
IFの条件部.kintone
OR(
DATE_FORMAT(日付, "M", "system") = "1",
DATE_FORMAT(日付, "M", "system") = "2",
DATE_FORMAT(日付, "M", "system") = "3"
),
他
残りの部分は下記で、
・翌年にずれ込んでいるものは、ずれ込んだ分を引いた上での年を
・それ以外はそのままの年を
DATE_FORMATで取り出しています。
日付フィールドは秒単位で演算できるようなので
月の最大日数31の3ヶ月分を秒に変換し引きます。
条件省略.kintone
IF(
条件,
DATE_FORMAT(日付 - 3*31*24*60*60, "YYYY", "system"),
DATE_FORMAT(日付, "YYYY", "system")
)
応用
上記は4月はじまりの例ですが、年度始まりが他の月であるという場合は
条件部と引く日数を修正することで年度が得られます。
8月はじまりの例.kintone
IF(
OR(
DATE_FORMAT(日付, "M", "system") = "8",
DATE_FORMAT(日付, "M", "system") = "9",
DATE_FORMAT(日付, "M", "system") = "10",
DATE_FORMAT(日付, "M", "system") = "11",
DATE_FORMAT(日付, "M", "system") = "12"
),
DATE_FORMAT(日付, "YYYY", "system"),
DATE_FORMAT(日付 - 8*31*24*60*60, "YYYY", "system")
)