エクセルについて従業員の勤務を簡易的にチェックするシートを作成していますそこで教えていただきたい部分がございますAに前日出勤時間Cに翌日出勤時間が入っているとします運輸業なのですが、運輸業に於いては必ず当日の出勤時間より翌日の出勤時間が早くなる場合に、その時差分を前日の拘束時間に加算させなくてはなりません例、前日出勤時間が5時30分出勤 前日拘束時間10時間20分 翌日出勤時間が5時10分出勤だった場合に、翌日の方が20分早くなっているためその分を前日拘束時間に加算しますこの用な計算を自動でし、簡易的に乗務員さんの勤務をチェックできる表を作っているのですがこの部分で質問となります休みの場合は、その出勤時間部分を0に設定しているため休みの前の日の出勤時間から休みを差し引くととんでもない時間の時差が出てしまいます単純に今は、A-Cと計算をしておりこの部分で、引く場合が0の値の場合出勤していないために0のため時差分も強制的に0にするような数式を組むにはどうすればいいでしょうか。=A-Cの数式に何を組み込めば、差し引く側が0の場合に強制的に0とできるのか教えていただきたいです今の場合だとAの出勤が5時Cの出勤が0時(休みのため)となっており、時差が5時間生じてしまっています識者の方、乱文になってしまいましたがよろしくお願いいたします

1件の回答

回答を書く

1141667

2026-05-09 03:20

+ フォロー

運送業のドライバーの場合、「始業から24時間」を1日としてカウントし、翌日の始業時間が前日より早まった場合、その早まった分(時差分)は「前日の24時間以内」に食い込むことになります。その結果、食い込んだ時間分が「前日の拘束時間」として上乗せされるというルールです。



添付画像をご覧ください。

A列は日付です。B列に出勤時刻、C列に退勤時刻、D列に拘束時間が入力されているとします。



この状態で翌日の出勤時刻を加味してE列の「修正後拘束時間」を求める数式を考えることになります。



前出のルール通りに言えば、

【E2の修正後拘束時間は、A2の日付のB2の出勤時刻から24時間後の時刻より、A3の日付のB3の時刻の方が早かったら、早かった分がA2の日付のD2の拘束時間に加算される】となります。



Excelの時間計算においては24時間は1と表されるので、

「E2はA2+B2+1\u0026gt;A3+B3だったら、D2+(A2+B2+1)-(A3+B3)とし、そうでなかったらD2とする」

となり、

「A2+B2+1\u0026gt;A3+B3」は変形すると「(A2+B2+1)-(A3+B3)\u0026gt;0」

となります。

さらに、A3はA2の翌日ですからA3=A2+1ですので、

「(A2+B2+1)-(A2+1+B3)\u0026gt;0」

となり、結果

「B2-B3\u0026gt;0」

となります。

同様に

「(A2+B2+1)-(A3+B3)」は「A2+B2+1-(A2+1+B3)」

となり、結果

「B2-B3」

となります。



つまり、「B2-B3\u0026gt;0」ときのみD2に「B2-B3」を加算することになり、B2-B3がマイナスのときは加算しない(言い換えれば0を加算)となるので、数式にすると

=D2+MAX(B2-B3,0)・・・①

となります。



但し、画像の4月3日のように、出勤なしの場合、B列が空欄になり、これが0:00出勤と誤認されると、ご質問者のお悩みのように「修正後拘束時間」が正しく算出されません。



そこで、以下の2点を数式に反映する必要があります。

(1)B列が空白の場合、他の条件に拘らず、「修正後拘束時間」を「空白」とする

(2)B列が空白の場合、その前日の「拘束時間」をそのまま「修正後拘束時間」とする

上記を考慮して①を修正すると



E2: =IF(B2=\u0026quot;\u0026quot;,\u0026quot;\u0026quot;,D2+MAX(B2-B3,0)*(B3\u0026lt;\u0026gt;\u0026quot;\u0026quot;))・・・①'



となり、これを下方向へコピーすればよいということになります。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有