本文へ移動
ホームブログExcelで日をまたぐ勤務時間を入力・計算|22時〜翌7時の例
Excel実務約6分で読めます更新:

Excelで日をまたぐ勤務時間を入力・計算|22時〜翌7時の例

22時から翌7時の勤務は、開始と終了の両方に日付を入れて計算します。B2に開始日時、C2に翌日の終了日時、D2に休憩1:00を入れれば、=C2-B2-D2で8:00になります。まず一行の入力例を試し、空欄や文字列、日付の取り違えを確認しましょう。

編集:シフトエンジン。参照した公式資料と確認日は本文末尾に掲載しています。

実際に試す・記入する

終了側にも翌日の日付を入力する

B2に2026/9/14 22:00、C2に2026/9/15 7:00、D2に休憩1:00を入力します。B・Cは日時、Dは経過時間として入力します。時刻差の計算はExcelの基本的な減算を使います。

入力確認中はB2・C2の表示形式を「yyyy/m/d h:mm」、D2を「[h]:mm」にします。日付を省略して7:00だけにすると、終了が翌日であることを値として保持できません。D2には60ではなく1:00を入力します。この例のD列は分数ではなく経過時間を受け取る列です。

記入例・数式
E2:=C2-B2-D2
E2の表示形式:[h]:mm
結果:8:00

終了側にも翌日の日付を入力する
セル入力する値・式役割と表示
B22026/9/14 22:00開始日時。yyyy/m/d h:mm
C22026/9/15 7:00翌日の終了日時。yyyy/m/d h:mm
D21:00休憩の合計1時間。[h]:mm
E2=C2-B2-D2休憩を引いた勤務時間。[h]:mmで8:00

この節の参照資料:Microsoft「Excel で 2 つの時刻の差を計算する」

三つの数値を別々に確認する

例の拘束時間は9時間、休憩は1時間、休憩を除く時間は8時間です。終了日を9/14と誤入力すると負の時間になります。見た目のエラーを隠して正の値に変えるより、日付を確認する方が原因を残せます。

三つの数値を別々に確認する
入力の状態確認すること
終了が開始より前日付の入力誤りか
休憩が拘束時間より長い単位・桁・入力欄を取り違えたか
開始または終了が空欄未入力として保留
24時間を大きく超える終了日や複数勤務のまとめ方を確認

MODだけで直す前に入力条件を見る

時刻だけを扱う=MOD(C2-B2,1)は翌日への折り返しに使われることがありますが、日付の誤りや24時間以上の区間を見えにくくします。この記事では日時を残して、そのまま差を取る設計を採用します。

休憩が複数回なら合計の経過時間をD2に入れるか、休憩の開始・終了を別表にして合計します。予定休憩を自動控除した値と、実際に取得した休憩から出した値は区別します。

この節の参照資料:Microsoft「MOD 関数」

22時から翌7時までの入力を順に確かめる

開始セルB2へ9月14日22:00、終了セルC2へ9月15日7:00を入力します。日付を含めることで、終了が開始より後であることをExcelの値として表せます。表示を時刻だけにすると翌日かどうか見えなくなるため、入力確認中は年月日と時刻の両方を表示する方が安全です。

C2からB2を引くと経過は9時間です。D2へ休憩1:00を時間の値として入力し、E2でその休憩を引くと8時間になります。休憩へ数字の1を入れると、この例の時間計算では一日分の値として扱われ、意図した一時間になりません。休憩欄が時刻・分・小数時間のどれを受け取るかを先に決め、列名にも残します。

一件が計算できたら、日中の9〜18時・休憩1時間も同じ式で8時間になるかを試します。夜をまたぐときだけ特別な式を使うのではなく、開始と終了に正しい日付を持たせ、同じ差分計算で扱えることを確認します。入力する人が日付を省略しないよう、記入例にも両日を載せます。

値が計算できない場合は、空いているF2へ=ISNUMBER(B2)、G2へ=ISNUMBER(C2)、H2へ=ISNUMBER(D2)を入力します。三つともTRUEになることを確認します。先頭にアポストロフィが付いた日時や、文字列として取り込まれた日時は、見た目が同じでもFALSEになる場合があります。表示形式を変えただけでは文字列を日時の値に変換できません。元の入力や取り込み方法を確認して直します。

この節の参照資料:Microsoft「IS 関数」 / Microsoft「Excel で 2 つの時刻の差を計算する」

マイナスの時間を、数式で隠す前に調べる

終了が同じ9月14日の7時になっていると、開始より前になります。こうした入力をMOD等で翌日扱いにすると、一見正常な時間に見える場合がありますが、日付の取り違えを見逃す可能性があります。先に開始日、終了日、休憩単位を確認し、誤りを元データで直す方が原因を残せます。

複数の休憩がある場合は、その合計をD2へ入れるのか、別行から合計するのかを決めます。勤務区間を休憩で分割済みなのに、さらに休憩を引くと二重控除になります。元データが拘束時間を表すのか、休憩を除いた区間を表すのかを確認してから式を選びます。

この計算結果は予定または実績の時間量です。深夜帯や時間外の区分を自動で判定しているわけではありません。勤怠や給与へ渡す場合は、勤務日の扱いと必要な区分を受渡し先で確認し、総時間が合っているだけで給与計算まで完了としないでください。

入力をそろえた後、E2を次の確認付きの式に置き換えると、三項目の空欄は空欄、文字列・終了日時の逆転・負の休憩・長すぎる休憩は「入力確認」と表示します。休憩なしはD2へ0:00を明示します。これは入力の取り違えを見つける例で、正しい勤務日や休憩取得の事実を自動で保証する式ではありません。

この確認式は、開始・終了・休憩を分単位で入力する表向けです。比較と差分を分へ換算して小さな計算誤差を整え、結果を時間の値へ戻しています。勤務時間を15分などの単位で切り捨てる式ではありません。秒まで記録する運用は、元データの精度を別途確認してください。

記入例・数式
=IF(OR(B2="",C2="",D2=""),"",IF(AND(ISNUMBER(B2),ISNUMBER(C2),ISNUMBER(D2)),IF(OR(C2<=B2,D2<0,ROUND(D2*1440,6)>ROUND((C2-B2)*1440,6)),"入力確認",ROUND((C2-B2-D2)*1440,6)/1440),"入力確認"))

マイナスの時間を、数式で隠す前に調べる
入力の例確認付きの式の結果
9/14 22:00→9/15 7:00、休憩1:008:00
9/14 9:00→9/14 18:00、休憩1:008:00
9/14 23:59→9/15 0:00、休憩0:000:01
9/14 22:00→同日7:00入力確認
開始・終了・休憩のいずれかが空欄空欄。休憩なしは0:00を入力
開始日時が文字列のまま入力確認
9時間の区間に休憩10:00入力確認

この節の参照資料:Microsoft「IS 関数」 / Microsoft「ROUND 関数」

給与の割増計算とは切り分ける

8時間という結果だけでは、深夜・時間外・休日に関する給与の扱いは決まりません。実績、適用制度、時間帯を勤怠担当で確認します。この例は日時の計算方法であり、給与計算式ではありません。

練習時は通常の日中勤務も一行追加し、9〜18時・休憩1時間で同じ8:00になるか確認します。夜間専用の補正を重ねるより、日中も日跨ぎも同じ式で扱える入力構造にします。

月間で8時間の勤務を4回合計した32時間は、h:mm表示だと8:00に見えることがあります。合計セルも[h]:mmにして32:00と表示します。MODで24時間未満へ戻さず、勤務一件の経過時間と月間の合計を分けて確認してください。

この節の参照資料:Microsoft「Excel で時間を加算または減算する」

参考資料・記事について

公式資料の機能説明・制度案内を参照し、手順と記入例は当サイトで作成しています。想定例・試算は実在する店舗の実績ではありません。制度やサービスの条件は変更される場合があるため、参照先の最新情報もご確認ください。

よくある質問

結果が####と表示されます。

列幅不足のほか、負の日時が原因の場合があります。列を広げても直らなければ開始・終了の日付を確認し、表示だけでなく入力値を点検します。

休憩60分はExcelに60と入力しますか?

この記事のD列は経過時間の値なので1:00と入力します。60という数値をそのまま引きません。分数を入力する設計なら分を1440で割って日単位へ変換する別の式が必要です。無料の勤務時間計算ツールでは休憩を分数で入力します。

日付をまたぐときはMOD関数が必要ですか?

開始・終了の両方に正しい日付が入っていれば、終了から開始と休憩を引く式で計算できます。MODで24時間未満へ戻すと、日付の誤りや24時間以上の区間が見えにくくなるため、先に入力を確かめます。

翌日7時までの時間をツールでも確認できますか?

勤務時間計算ツールで開始22:00、終了07:00、終了日「翌日」、休憩60分を指定すると8時間0分です。対象は開始から終了まで24時間以内の一件で、月間合計や給与の割増判定は別に確認します。

次に確認したいこと

日またぎの勤務時間を無料で確認する

関連する解説や記入例を、ご自身の確認したい内容に合わせてご利用ください。