キンコミ kintone user community

みんなの投稿

日報の開始時間と終了時間を入力することで、時間帯ごとに振り分ける計算式を標準機能で作りました。

時間帯によって勤務単価が変わるため、シンプルな入力により振り分けてくれる計算式が必要でした。

色んなケースを考え、IF文を使いまくりました。
終了時間が0:00の場合、(終了時間-開始時間)はマイナス扱いになるようなので、逆にマイナスの場合は、(終了時間+開始時間)にしました。

作りながら、もっとシンプルな計算式にできるのでは...と思いつつ、時間かかったけど何とか実現できたので、自分的アップデートとして投稿してみました。

1件のコメント (新着順)

吉冨 昌宏さん

時間関連でIF文を使って工夫されたとのこと。いいですね。
アウトプットいただきありがとうございます。

終了時間が0:00の場合、(終了時間-開始時間)はマイナス扱いになるようなので、逆にマイナスの場合は、(終了時間+開始時間)にしました。

そうですね。
終了時刻より開始時刻が小さいか同じ場合は、1日経過しているということとして終了時刻-開始時刻のあと1日(60*60*24秒)加えるのはいかがでしょうか。

テストアプリ作成しましたので画面添付します。
(同時刻の場合表示は00:00になりますが内部的には86400秒=1日です。)

勤務表など時間帯に応じて単価が違う場合はありますね。テーブルをうまく活用されてわかりやすいアプリだと思います。^^

https://jp.cybozu.help/k/ja/user/app_settings/form/autocalc/date_time.html


西村さん、なるほどです!

時刻は、見た目と中身が違うので、すごく苦労しました。
終了時刻0:00の場合も開始時間によって、時間帯に振り分けるために複数パターンを考慮しなければいけなくて、大変です。

作りながら、0:00まで仕事してはいけないことにした方が良いのではと思ったり...。

ありがとうございました。