概要
勤務開始・終了など「時間差」を計算するとき、終了が翌日に跨ぐと単純な引き算ではマイナスになります。ここで使えるのが MOD。Excelでは1日=1、1時間=1/24という連続値なので、「差を1で割った余り」を取れば、0:00を跨いでも常に正の“経過時間”として扱えます。定番形は「=MOD(終了−開始,1)」。
基本の考え方
時間は“日付の一部”。たとえば 8:00 は 0.3333…(=8/24)、23:00 は 0.9583… のように表されます。終了−開始が負になるケース(例:22:00→翌1:30)は、1日を法(modulus)とする余りにすれば正の経過時間に戻せます。つまり「=MOD(終了−開始,1)」で“24時間を1周”として丸める、が核心です。
基本の使い方
跨ぎなしの時間差(同日内)
=終了時刻 - 開始時刻
例:
=B2 - A2
表示形式を「hh:mm」または「[h]:mm」にすると見やすくなります。
跨ぎありでも正の差にする(翌日跨ぎ対応)
=MOD(終了時刻 - 開始時刻, 1)
例:
=MOD(B2 - A2, 1)
B2が翌1:30、A2が22:00でも「03:30」が返ります。
純粋な“分”や“時間”の数値で欲しい
分:
=MOD(B2 - A2, 1) * 24 * 60
時間(小数):
=MOD(B2 - A2, 1) * 24
具体例
勤務時間(開始A2、終了B2)を「hh:mm」で表示
=TEXT(MOD(B2 - A2, 1), "hh:mm")
人に見せる帳票なら、TEXTで整形するとズレなく読めます。
残業時間(所定終了C2→実終了B2)
=MOD(B2 - C2, 1)
C2が18:00、B2が翌0:30なら「06:30」。
休憩を差し引いた実働時間
=MOD(B2 - A2, 1) - 休憩時間
例:休憩D2(分単位)なら
=MOD(B2 - A2, 1) - (D2/1440)
合計時間を“24時間超”でも正しく合算・表示
総和(E2:E50が時間差):
=SUM(E2:E50)
表示形式は「[h]:mm」にすると 26:45 のように24超の時間も崩れません。
応用テンプレート
深夜勤務の“日跨ぎ”フラグ
=(B2 < A2)
TRUEなら終了が翌日。監査や注意喚起に使えます。
シフト終了が予定より遅れた“超過分”(負も許容)
=(B2 - A2) - (予定終了 - 予定開始)
跨ぎが混在するなら両差をMODで正規化して比較します。
=MOD(B2 - A2,1) - MOD(予定終了 - 予定開始,1)
到着予定と実到着の“遅延分(分)”を常に正で取得
=MOD(実到着 - 予定到着, 1) * 24 * 60
時刻から“秒”までの差
=MOD(B2 - A2, 1) * 24 * 3600
秒で扱えば丸め誤差の確認にも便利。
よくあるつまずきと対策
表示形式を整える
差が“0.1458”のような数値に見えるのは正常です。見やすくするには表示形式を「hh:mm」や「[h]:mm」にしてください。合計・累計には「[h]:mm」が鉄則です。
日付を含むセルでもOK
「2025/12/17 22:00」→「2025/12/18 01:30」のような“日付+時刻”でも、MOD(B−A,1)は正しく機能します。
文字列時刻を避ける
“22:00” を文字列で持つと計算できない場合があります。正しい時刻型で入力するか、TIME(時,分,秒)で生成しましょう。
休憩や丸め(5分単位など)
分単位で欲しい場合は“分換算”後に丸めます。 5分単位に丸め(切り上げ):
=CEILING(MOD(B2 - A2,1)*1440, 5)/1440
切り捨ては FLOOR、四捨五入は MROUND。
例題
問題1: 開始A2=9:15、終了B2=17:45 の時間差をC2に「hh:mm」で表示してください。
=TEXT(B2 - A2, "hh:mm")
問題2: 開始A2=22:00、終了B2=翌1:30 の時間差をC2に正しく表示してください(跨ぎ対応)。
=TEXT(MOD(B2 - A2, 1), "hh:mm")
問題3: 開始A2=21:50、終了B2=翌6:10、休憩D2=45分 の実働時間をE2に「[h]:mm」で表示してください。
=TEXT(MOD(B2 - A2,1) - (D2/1440), "[h]:mm")
問題4: 実働時間一覧E2:E100の“総時間”をF2に表示し、24時間超でも崩れないようにしてください。
合計:
=SUM(E2:E100)
表示形式: 「[h]:mm」を適用。
問題5: 予定開始G2=18:00、予定終了H2=23:00、実開始I2=19:10、実終了J2=翌0:40 の“超過分”をK2に「分」単位で表示してください。
=MOD(J2 - I2,1)*1440 - MOD(H2 - G2,1)*1440
まとめ
時間差の要点は「翌日跨ぎでも常に正で扱う」ことで、その最短解が「=MOD(終了−開始,1)」。表示は「hh:mm/[h]:mm」、分・時間へは24や1440を掛ける、休憩や丸めは加減算+CEILING/MROUND——この組み合わせを押さえれば、勤務集計・遅延分析・シフト管理が安定して回ります。
