最近「年齢を計算したい」という声をよく耳にするので、今回のブログではkintoneで年齢を計算する一例をご紹介します。
・社員の年齢を管理したい
・年齢に応じてお客様に新しいオプションを案内したい
・お客様の年齢によって対応内容が変わる
など、年齢計算したいシーンはちょこちょこありますね。
krewSheetには数式フィールドと呼ばれる計算用のフィールドがあり、年齢計算と相性がとてもよい機能なんです。今回はこの数式フィールドで年齢計算を行います。
そもそも年齢計算って難しいの?
年齢の計算方法
Excelを使ったことがある方は、年齢計算と聞くと次のように関数を使って計算するのがほとんどだと思います。
=DATEDIF(生年月日,TODAY(),”Y”)
補足
DATEIF関数はある日時からの期間を求める関数です。上記の数式では、TODAY関数を併用して生年月日から当日までの年数を求めることで年齢を計算します。
kintoneでも関数を使った計算は可能ですが、ExcelのようにDATEDIF、TODAYなど年齢計算に必要な関数を扱うことはできないのです。
年齢は誕生日を境に変わる
また、年齢は誕生日を境に計算結果が変化します。4月1日が誕生日の方は、3月31日と翌日4月1日では年齢が変わるのです。
厳密な法律上の年齢の考え方はこちらをご参照ください。
kintoneの計算フィールドは、レコード編集時に計算を行います。今日の年齢を知りたい場合には、レコードを編集したり、CSVで基準日付(当日の日付など)を読み込むなどのひと手間が必要になります。
こういった背景で「kintoneで年齢計算を行いたい」と思いつつも、最適解が分からず悩む方が多くいます。
krewSheetで年齢計算
一見カンタンに思える年齢計算ですが、一筋縄ではいかないことがおわかりいただけたでしょうか。
ここからは、krewSheetで年齢計算を行う方法を具体的にお見せしていきます。
krewSheetには、「数式フィールド」と呼ばれる計算用のフィールドがあります。この数式フィールドを使うと、Excelと同じ感覚で年齢計算が行えます。
数式フィールドには年齢計算でネックになる部分をうまく解消できる、次のような特徴があります。
- Excel関数が使える (DATEDIF関数、TODAY関数で年齢計算できる)
- krewSheetの一覧を表示する度に再計算する (一覧を開くたびに最新の年齢が計算できる)
社員マスタの生年月日を元に年齢を計算する
ここでは社員マスタを例に解説します。社員マスタアプリを準備し、krewSheetの一覧を作成します。
年齢はkrewSheetでフィールドを独自に作成するので、kintoneアプリ側では特に作成する必要はありません。
krewSheetの設定
krewSheetのデザイン画面で数式フィールドを追加します。
続いて、数式を設定します。
設定する数式:=DATEDIF(生年月日,TODAY(),”Y”)
アプリを保存すると、年齢が正しく計算されています。
krewSheetの一覧を表示する度に再計算されるので、誕生日後は一覧を開いた時点で1つ上の年齢に自動的に再計算されます。
知っておきたいポイント
数式フィールドはkrewSheet上でのみ存在する特別なフィールドなので、標準の一覧や詳細画面では確認することができません。とはいえ、kintoneアプリのフィールドに値を持っておきたい場合もあるかと思います。
そのような場合には、kintoneのフィールドに値を保存することもできます。
勤続年数を計算する
入社日を基準に勤続年数の計算も行いましょう。年齢計算の応用になりますね。
次のように数式を設定します。
設定する数式:DATEDIF(入社日,TODAY(),”Y”)&”年”&DATEDIF(入社日,TODAY(),”YM”)&”ケ月”
アプリを更新すると、勤続年数が計算されています。
ほかに応用できるシーンは?
年齢と勤続年数の計算方法をご紹介しました。
このほかにも「契約日から数えた契約年数を知りたい」「施工日から1年後にメンテナンスの案内を送りたい」など、応用できるシーンはたくさんありそうです。ぜひ活用してみてください。
数式フィールドについてもっと詳しく知りたい
ブログを読んで特徴をおさえる
数式フィールドの特徴をもう少し詳しく知りたい方は、こちらの記事をご覧ください。