記事番号:010211
「日付」フィールドと、うるう年を判定する計算式を設定したフィールドを配置することで、うるう年を考慮した月末日を表示できます。
○準備
フォームに以下のフィールドを配置し、フィールド名とフィールドコードを設定してください。
-
「日付」フィールド
・フィールド名/フィールドコード:日付
-
「計算」フィールド
・フィールド名/フィールドコード:年
・計算式:
DATE_FORMAT(日付, "YYYY", "system")
・表示形式:数値(例:1000)
-
「計算」フィールド
・フィールド名/フィールドコード:月
・計算式:
DATE_FORMAT(日付, "M", "system")
・表示形式:数値(例:1000)
-
「文字列(1行)」フィールド
・フィールド名/フィールドコード:うるう年判定
・計算式:IF(OR(年/4-ROUNDDOWN(年/4)!=0,AND(年/100-ROUNDDOWN(年/100)=0,年/400-ROUNDDOWN(年/400)!=0)),"平年","うるう年")
-
「文字列(1行)」フィールド
・フィールド名/フィールドコード:月末日
・計算式:IF(OR(月=4,月=6,月=9,月=11),DATE_FORMAT(日付, "YYYY年M月30日", "system"),IF(AND(月=2,うるう年判定="うるう年"),DATE_FORMAT(日付, "YYYY年M月29日", "system"),IF(AND(月=2,うるう年判定="平年"),DATE_FORMAT(日付, "YYYY年M月28日", "system"),DATE_FORMAT(日付, "YYYY年M月31日", "system"))))
※「年」「月」「うるう年判定」フィールドは、フィールドのアクセス権を設定することで、非表示とすることも可能です。
フィールドのアクセス権を設定しても、「月末日」フィールドは正しく計算されます。
フィールドにアクセス権を設定する
○計算式の解説
- 「うるう年判定」フィールドでは、「年」フィールドの値に応じて「平年」または「うるう年」のどちらかが表示されます。
「平年」と「うるう年」のどちらに当てはまるかは、法令上の取扱いを元に算出しています。
詳細は、参議院法制局の次のページを参照してください。
うるう年をめぐる法令
・西暦が4で割り切れる年は「うるう年」とする
・西暦が100で割り切れて、400で割り切れない年は、「平年」とする - 「月末日」フィールドでは、IF関数を使い、月末日を以下の4通りに場合わけしています。
・4月、6月、9月、11月は末日が30日
・うるう年の2月は末日が29日
・平年の2月は末日が28日
・それ以外の月(1月、3月、5月、7月、8月、10月、12月)は末日が31日
[IF関数]条件によって表示する値を変える
参考までに、この計算式が設定されたアプリのテンプレート「leap_year.zip」(日本語のみ)を添付しています。
テンプレートファイルをダウンロードしたあと、解凍せずにkintoneで読み込んでください。
テンプレートファイルからアプリを作成する
固定リンクをコピーします
固定リンクがコピーされました