記事番号:00789
kintoneでは、「時刻」フィールドで作成した「開始時刻」「終了時刻」を「計算」フィールドを使って計算することで、経過時間を算出することができます。
その際、日付をまたいだ時刻を入力すると、計算結果がマイナスになってしまうことがあります。
ここでは、IF関数を使用して計算することで、計算結果がマイナスになってしまう状況を回避する方法について説明します。
<準備>
アプリ設定のフォームで以下のフィールドを配置し、それぞれにフィールド名とフィールドコードを設定します。
- 「時刻」フィールド
フィールド名/フィールドコード:開始時刻 - 「時刻」フィールド
フィールド名/フィールドコード:終了時刻 - 「計算」フィールド
フィールド名/フィールドコード:経過時間
<計算式の設定>
配置した「計算」フィールドに、以下の計算式を設定します。
IF(OR(開始時刻="",終了時刻=""),"", IF(開始時刻>=終了時刻,終了時刻+24*60*60-開始時刻,終了時刻-開始時刻))
・表示形式:「時間(例:26時間3分)」を選択
<計算式の解説>
この計算式では、IF関数を使用して、終了時刻が開始時刻より遅い場合は通常の引き算を、日付をまたいだことで終了時刻が開始時刻より早くなっている場合は、24時間分をプラスした上で引き算するように記述しています。
これにより、日付をまたいだ場合でもマイナスになることなく計算できます。
補足
- kintoneでは、日付、時刻、日時のフィールドの値はUNIX時刻として扱われます。このため、日付や日時は秒単位で扱い、計算式も秒単位で指定します。たとえば、1分間を「60」、1時間を「3600」または「1*60*60」と入力します。
<関連ページ>
固定リンクをコピーします
固定リンクがコピーされました