Excelで時間の引き算・差を計算する方法(分・深夜勤務・24時間超)
Excelで時間の差を正しく計算する方法を解説。勤務時間の算出、給与計算用の小数表記、日跨ぎ(深夜勤務)の処理、合計が24時間を超える場合の表示形式「[h]:mm」まで、実務ですぐに役立つ数式を網羅しました。
著者 Ayoub Farid · · 4 分で読めます
タイムカードの集計、シフトの勤務時間、作業時間の記録など、業務では時間の計算が欠かせません。Excelでは、時間が「1日を1とした小数」として管理されている仕組みさえ理解すれば、簡単に時間の引き算が行えます。
Excelにおける時間の管理の仕組み
Excelでは、1日(24時間)を数値の「1」として扱います。そのため、12:00は「0.5」、06:00は「0.25」となります。時間同士を単純に引き算できるのも、24を掛ければ「時間数」に変換できるのも、この仕組みがあるためです。
基本の実働時間を計算する
開始時刻がセルB2(09:00)、終了時刻がセルC2(17:30)に入力されている場合:
=C2-B2 → 8:30
結果を表示するセルの表示形式を h:mm に設定します。
10進法の時間に変換する(給与計算向け)
給与計算などで「8時間30分」を「8.5時間」として扱いたい場合は、24を掛けます。
=(C2-B2)*24 → 8.5
セルの表示形式を「数値」に設定してください。時給がセルF1に入力されている場合の給与計算は、絶対参照を使って =(C2-B2)*24*$F$1 と入力します。
休憩時間を差し引く
=(C2-B2-D2)*24
上記の数式では、セルD2に休憩時間(00:30など)が入力されている前提です。
日を跨ぐシフト(深夜勤務)の計算
22:00から翌朝06:00までの勤務の場合、単純に引き算をすると結果がマイナスになってしまいます。日跨ぎの計算にはMOD関数を使用します。
=MOD(C2-B2,1)
→ 8:00 と正しく算出されます。
合計時間が24時間を超える場合
1週間の勤務時間を合計した際、本来なら「40:00」となるはずが「16:00」と表示されてしまうことがあります。これは表示形式 h:mm が24時間ごとにリセットされてしまうためです。
合計を表示するセルを選択し、「セルの書式設定」>「ユーザー定義」で [h]:mm と設定してください。大括弧(ブラケット)で囲むことで、24時間を超える総時間数を正しく表示できます。
分単位・秒単位で計算する
=(C2-B2)*1440 分(1日は1440分)
=(C2-B2)*86400 秒(1日は86400秒)
日付と時刻が一緒に入力されている場合
セルに「2026/11/02 22:00」のように日付と時刻の両方が含まれている場合は、MOD関数を使わなくても単純な引き算だけで日跨ぎの時間を正しく計算できます。詳しい日時の扱いについては、TODAY関数とNOW関数の使い方も参考にしてください。
よくある質問
Excelで2つの時刻の間の時間を計算するにはどうすればよいですか?
小数の時間数で出したい場合は =(終了時刻-開始時刻)*24 と入力し、時間の形式(8:30など)で表示したい場合は =終了時刻-開始時刻 と入力してセルの表示形式を「h:mm」に設定します。
日付を跨ぐ(深夜から翌朝などの)時間を計算するには?
=MOD(終了時刻-開始時刻,1) という数式を使用します。
合計時間が24時間未満の値になってしまうのはなぜですか?
表示形式が通常の「h:mm」になっていると24時間でリセットされるためです。表示形式を「[h]:mm」に変更すると、24時間を超える合計時間を表示できます。
時間のセルに「#####」と表示されてしまう原因は何ですか?
計算結果がマイナスになっている(MOD関数を使わずに深夜勤務の引き算を行った場合など)か、セルの列幅が狭くて数値を表示しきれていないことが原因です。