質問: 勤務時間の計算 勤務時間 8:00~19:00 の間なら何時間でも働いてよくて 昼休み12:00~13:00の時間帯は必ず休みになります。 9:30出社 17:30退社 の場合、7時間となり 9:30出社 11:30退社 の場合 2時間となり、 14:00出社 18:00退社 の場合 4時間の勤務となります。 エクセルで a b c 1 勤務時間 昼休み 2 8:00 12:00 3 19:00 13:00 4 出社 退社 勤務時間 5 9:30 17:30 7:00 6 9:30 11:30 2:30 ↓ドラッグ 7 14:00 18:00 5:00 c5に =if(count(a5:b5)<2,"",text(max(0,(min($b5,a$3)-max($a5,a$2))-(min($b5,b$3)-max($a5,b$2))),"h:mm")*1) と入れてc7までドラッグすると、 c6が2時間のところが2:30になり、 c7が4時間が正しいのに5時間になってしまい、うまく計算されません。 うまく計算されるには、どのような式にすればいいのでしょう? もしくはもっと簡単な関数があるのでしょうか? ご教授、よろしくお願いいたします。
回答: c5セルに次の数式を入力してから、c5セルをコピーして、c6以下に貼り付けると良いと思います。 =if(count($a5,$b5)=2,($a5<$b$2)*(min($b$2,$b5+($a5>$b5))-$a5)+($b5+($a5>$b5)>$b$3)*($b5-max($b$3,$a5)),"")