エクセルで日をまたぐ時間を計算する方法|夜勤の22時から5時まで

記事
ビジネス・マーケティング
22時から翌5時のように日をまたぐ勤務は、そのまま「終了−開始」と引くとマイナスになり、######## と表示されます。MOD関数を使えば、日をまたぐ場合もまたがない場合も同じ式で計算できます。

■ 表の例
B2に開始 22:00、C2に終了 5:00 を入れます(日勤の9:00〜18:00はB3・C3)。

■ 経過時間を出す(MOD)
=MOD(C2-B2,1)
試した結果:7:00(日勤の行は 9:00)
日をまたがない行でも同じ式で使えるので、列の全部にコピーできます。
セルの表示形式は「[h]:mm」にします(右クリック→セルの書式設定→ユーザー定義)。[h] と角かっこで囲むと、24時間を超えても桁があふれません。

■ 「時間数」の数字で出したい(給与計算など)
=MOD(C2-B2,1)*24
試した結果:7
表示形式は「標準」か「0.00」にします。時間のまま表示される場合は、表示形式を直します。

■ 休憩1時間を引く
=MOD(C2-B2,1)-TIME(1,0,0)
試した結果:6:00(日勤の行は 8:00)

■ IF関数で書く方法
MODが分かりにくいときは、終了が開始より小さければ1日足します。
=IF(C2<B2,C2+1,C2)-B2
試した結果:7:00
意味は同じです。

■ 日付と時刻をいっしょに入れている場合
B5に 2026/11/2 22:00、C5に 2026/11/3 5:00 のように日付つきで入れていれば、ただ引くだけで合います。
=C5-B5
試した結果:7:00(表示形式は [h]:mm)

■ うまくいかないとき
・######## と出る:終了が開始より前の時刻で、日付が入っていない状態です。上のMODの式にします。
・1900/1/0 や 0:00 のような表示になる:表示形式が「日付」や「標準」のままです。[h]:mm に変えます。
・24時間以上が 0:30 のように切れる:[h]:mm の角かっこがありません。
・時刻が文字になっている:左寄せで表示されていたら文字です。入れ直すか、セルの表示形式を「時刻」にしてから入れ直します。

■ 向かない場合
22時以降の深夜割増の時間だけを分けて数えたい、半休やシフトごとに休憩が違う、という表は、式を足すほど読みにくくなります。自分で組み直す時間がないときは、専用の調整サービスもあります。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す