- ベストアンサー
特定時間の算出
残業計算についておしえて下さい。 定時が 17:40 で 終了時刻が22:40 の時に 18:00~22:00 の時間のみを算出するにはどうしたらよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 No.1の方とほぼ同じ考え方で、ちょっと数式を短くしました。 =IF(OR(A1="",B1="",B1<A1),"",MAX(MIN(B1,22/24)-MAX(A1,18/24),0)) 開始~終了が18:00~22:00とまったく重なっていない場合に、"0"にする処理を一番外にまとめました。 ところで、単なる記述ミスだと思いますが、一応。 IFの条件のところは、 「B1>A1」→「B1<A1」 ですね。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
回答No.1
IF文でOR条件で計算時に最大値,最小値を設定すれば出来ます。 A1=開始時間,B1=終了時間として =IF(OR(A1="",B1="",B1>A1),"",MAX(MIN(B1,22/24),18/24)-MAX(MIN(A1,22/24),18/24)) 式の解説 OR(A1="",B1="",B1>A1)で未入力と時間逆転時にブランクセット MAX(MIN(B1,22/24),18/24)で終了時間が22:00以降の場合22:00,18:00以前の場合18:00,中間ならB1にセット MAX(MIN(A1,22/24),18/24)で開始時間が22:00以降の場合22:00,18:00以前の場合18:00,中間ならA1にセット で終了時間(18:00~22:00)-開始時間(18:00~22:00)の計算
質問者
お礼
詳しい説明までしていただきとても分かりやすく大変参考になりました。ありがとうございます。
お礼
さらに条件を追加していたのでエラーになったと思っていたのですが納得です。 ありがとうございます。 大助かりです。