ユーザーの年齢を計算できますか?
kintoneでは、今日を基準日とした年齢の自動計算はできませんが、レコードの更新日や特定の日付を基準日とした年齢の計算ができます。
レコードの更新日時点での年齢を計算する場合は更新日時フィールド、特定の日付時点での年齢を計算する場合は日付フィールド、日時フィールドを活用して、生年月日との差から年齢を計算します。
ここでは、レコードの更新日を基準日として、うるう年を考慮せずおおよその年齢を計算する簡易的な方法と、うるう年を考慮して年齢を計算する方法の2通りについて説明します。
方法1:うるう年を考慮しない
うるう年を考慮せず1年を365日と考え、生年月日から更新日時までの年数を年齢として計算します。実際の年齢より高く算出されることがあります。
準備
アプリ設定のフォームで以下のフィールドを配置し、それぞれにフィールド名とフィールドコードを設定します。
-
更新日時フィールド
- フィールド名:更新日時
- フィールドコード:更新日時
-
日付フィールド
- フィールド名:生年月日
- フィールドコード:生年月日
-
計算フィールド
- フィールド名:年齢
- フィールドコード:年齢
計算式の設定
計算フィールドに以下の計算式を設定します。
計算フィールドの[小数点以下の表示桁数]は「0」に設定してください。
-
「年齢」フィールド
(更新日時-生年月日)/ (60*60*24*365)
計算式の解説
1年を365日として、更新日時と生年月日の差の年数を計算します。
日付の値の扱いや関数についての詳細は、次のページを参照してください。
日付、時刻、日時の計算
方法2:うるう年を考慮する
うるう年を考慮し、生年月日から更新日時までの年数を年齢として計算します。
準備
アプリ設定のフォームで以下のフィールドを配置し、それぞれにフィールド名とフィールドコードを設定します。
-
更新日時フィールド
- フィールド名:更新日時
- フィールドコード:更新日時
-
計算フィールド
- フィールド名:更新日時A
- フィールドコード:更新日時A
-
日付フィールド
- フィールド名:生年月日
- フィールドコード:生年月日
-
計算フィールド
- フィールド名:生年月日A
- フィールドコード:生年月日A
-
計算フィールド
- フィールド名:年齢
- フィールドコード:年齢
計算式の設定
計算フィールドに以下の計算式を設定します。
-
「更新日時A」フィールド
DATE_FORMAT(更新日時,"YYYYMMdd","system")
-
「生年月日A」フィールド
DATE_FORMAT(生年月日,"YYYYMMdd","system")
-
「年齢」フィールド
ROUNDDOWN((更新日時A-生年月日A)/10000,0)
計算式の解説
更新日時と生年月日を、DATE_FORMAT関数を使用して日時形式の値に変換し、その差を計算します。
計算結果の万の位から上位が年齢を表すため、計算結果を「10000」で割り、ROUNDDOWN関数を使用して小数点以下を切り捨てます。
関数についての詳細は、次のページを参照してください。
[DATE_FORMAT関数]日付や時刻の表示形式を指定して表示する
[ROUND関数、ROUNDUP関数、ROUNDDOWN関数]数値を四捨五入、切り上げ、切り捨てする