0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kintone: 一番シンプルな年度の取得方法(たぶん)

Last updated at Posted at 2021-03-03

プラグインや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")
)

image.png

説明

概要

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")
)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?