Excelで時刻の引き算をすると「######」と表示されて困ったことはありませんか?
この記事では、時間計算の基本、マイナス時間の表示方法、1904日付システムの活用法、残業時間計算での注意点、経過時間の分表示まで一挙に解説します。
Contents
Excelの時間計算の仕組みを正しく理解する

Excelは時間を「シリアル値」で扱います。
1日は1として換算されるため、時刻は1日の一部の値になります。
例:8:00は0.3333…。
したがって、終了時刻から開始時刻を引けば経過時間を算出できます。
例: 開始 8:00(A1)、終了 17:00(B1) → =B1-A1
で9:00が表示されます。
なぜマイナス時間は「######」になる?
Excel標準の1900日付システムでは負の時間を扱えません。
そのため、計算結果が0未満になるとセルには「######」が表示されます。
【解決法1】1904日付システムを使う
Mac版Excelのデフォルトでもある1904日付システムは負の時間を扱えます。
設定方法:
- [ファイル] → [オプション] → [詳細設定]。
- 「1904日付システムを使用する」にチェックを入れる。
⚠️ 既存のブックに適用すると日付が4年ズレるので、新規ブックでの活用がおすすめです。
【解決法2】IF関数でマイナスを0に置き換える

残業時間などで負の値を表示したくない場合はIF関数で制御します。
=IF(B1-A1<0,0,B1-A1)
これで負の結果は0になります。
【応用】マイナス時間を赤字で強調する
計算結果がマイナスのときに強調表示するには条件付き書式を活用します。
- 計算結果セルを選択。
- [ホーム] → [条件付き書式] → [セルの強調表示ルール] → [指定の値より小さい]。
- 0を設定して赤色書式を適用。
【TIME関数を活用】分単位の時間差計算
時間差を分単位で求めたい場合:
=(B1-A1)*24*60
*24
で時間換算、*60
で分に変換します。
残業時間がマイナスになる理由

所定時間より勤務が短いと差分がマイナスになります。
例:所定8時間 - 実働7時間 → -1時間。IF関数でMAX(0,差分)とするのがおすすめです。
=MAX(0, 実働時間 - 所定時間)
経過時間を24時間超も正しく表示する
24時間を超える時間差を正しく表示したいときはユーザー定義の [h]:mm
形式を使います。
設定方法:
- 計算セルを右クリック → [セルの書式設定]。
- [ユーザー定義] →
[h]:mm
にする。
時間引き算で役立つテクニックまとめ
内容 | 設定例 |
---|---|
マイナス防止 | IF(時間差<0,0,時間差) |
マイナスを赤字 | 条件付き書式で値<0を赤色に |
1904日付システム | [詳細設定]で切り替え |
分単位に換算 | =(B1-A1)2460 |
よくある質問(FAQ)

時刻の引き算でマイナスを表示するには?
1904日付システムに切り替えるか、IF関数で制御します。
時刻の差を計算するには?
基本は 終了時刻−開始時刻
。表示形式を [h]:mm
にすると24時間超もOKです。
残業時間がマイナスになるのはなぜ?
勤務が所定時間未満だとマイナスになります。
MAX関数で0に制御するのがおすすめです。
経過時間を分で表示するには?
=(終了-開始)*24*60
で分換算します。
まとめ
- Excelは標準設定では負の時間を扱えない
- 1904日付システムを活用すればマイナス時間もOK
- 残業時間などマイナスが不要な場合はIF関数で0に制御
- 経過時間の分表示・赤字表示なども組み合わせて正確に!
参考リンク
アドバイス: 既存の表で1904システムを切り替えると日付ズレに注意!
必要なら新規ブックで試しましょう。