🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel で 24 時間を超える時間を合計する —— 合計がリセットされる理由(と [h]:mm での解決)

|

Excel で 24 時間を超える時間を合計する —— 合計がリセットされる理由(と [h]:mm での解決)

要点=SUM(times) は経過時間を正しく足します —— 嘘をつくのは書式です。 既定の h:mm はまる 1 日を差し引いた余りしか表示しないので、本当は 25 時間 30 分の 合計が 1:30 と表示されます。裏の数値は正しいので、ユーザー定義書式 [h]:mm を 適用すれば 25:30 と表示されます。角かっこは「この単位を 24 で折り返さず累積させよ」 という意味です。二つの相棒: 負の時刻は ####### と表示され、SUM(times) * 24 は 合計を小数の時間で返します。

=SUM(B2:B8)        ' 本当の合計は 25:30 ... でも既定の h:mm では 1:30 と表示される
' 解決: セルの書式設定 -> ユーザー定義 ->   [h]:mm      と入力  -> 25:30 と表示
=SUM(B2:B8) * 24   ' -> 25.5   (小数の時間。まったく折り返さない)

1 週間のシフトを合計したのに答えが明らかに間違っている —— 8 時間の勤務日が合計 1:30 になる。壊れているものは何もありません。Excel は小数を完璧に足し、そのあと 時計書式が結果を見せる前にまる 1 日を捨てただけです。これは Excel で最も多い時刻の 不満で、設定一つで直る表示の問題です。このガイドでは、なぜそれが起きるのか、 [h]:mm 書式、####### のいとこ、そしてどんなときに小数の合計のほうが役立つのかを 扱います。

このガイドで学べること

  • なぜ SUM は正しいのに合計の表示が間違うのか
  • [h]:mm ユーザー定義書式と、角かっこの意味
  • なぜ負の時刻が ####### になるのか —— そして三つの直し方
  • 代わりに合計を小数の時間で得る
  • 時刻書式のチートシート(と m = 月 vs 分 の罠)

なぜ合計がリセットされるのか: 書式がまる 1 日を隠す

時刻は 1 日を 1 とした小数で、SUM はその小数を問題なく足します。25 時間半は 数値 25.5 / 24 = 1.0625 —— まる 1 日と、次の日の 0.0625 です。既定の h:mm 書式は 時計書式です。時刻を表示するので、まる 1 日ぶんを引いた残りの 0.0625 だけを表示し、 残りは捨てます。

' B2:B8 は本当は合計 25 時間 30 分になる七つのシフト
=SUM(B2:B8)     ' 裏の値は 1.0625  ->  既定の h:mm では 1:30 と表示

つまり見えている 1:30 は「翌日の時計で 1:30」です。合計は秒単位まで正しく、書式が 日数を捨てているのです。表示を直せば「間違った」合計が直ります。

解決策: [h]:mm 経過時間書式

合計を選び、[セルの書式設定] → [表示形式] → [ユーザー定義] を開いて次を入力します。

[h]:mm

角かっこがコツのすべてです。[h] は「合計の時間を表示し、24 で折り返すな」と いう意味です。かっこがないと h は時計の「時」で折り返します。かっこがあると累積します。

' 同じ裏の値 1.0625
' 書式  h:mm    -> 1:30      (時計。折り返し)
' 書式  [h]:mm  -> 25:30     (経過時間。正しい)
' 書式  [m]     -> 1530      (合計の分)
' 書式  [m]:ss  -> 1530:00   (合計の分と秒。例: ストップウォッチ)

角かっこは累積させたい最大の単位に付けます。時間を積み上げるなら [h]、全体を 分で見たいなら [m]、秒なら [s] です。これは表示形式だけで、格納された値は何も 変えません —— だからセルはそのまま後続の数式にきれいに渡せます。

####### のいとこ: 負の時刻

同じ小数のモデルが、Excel のもう一つの悪名高い時刻の症状を説明します。あとの値から まえの値を引く —— あるいは合計が 0 を下回る —— と、セルが ####### で埋まります。 Excel の標準の 1900 年日付システムには負の時刻を表す方法がないので、マイナス記号の 代わりにあふれを示すシャープ記号を表示します。

=A2 - B2      ' B2 が A2 より遅い場合  ->  #######  (負の時刻)

三つの直し方を、おすすめ順に。

  • 引き算の順序を正しくするか、夜通しの区間には =MOD(B2 - A2, 1) を使って結果が 決して負にならないようにします —— 時刻を小数に変換するを 参照してください。
  • * 24小数の時間で扱う: 小数は負になれるので、=(A2 - B2) * 24 はシャープ 記号ではなく -1.5 を表示します —— 「過不足」の列に便利です。
  • 最後の手段として、ブックを 1904 年日付システム([ファイル] → [オプション] → [詳細設定])に切り替えます。これは負の時刻を許しますが、既存のすべての日付を 4 年 ずらすので、ファイルがそれを前提に作られていない限り避けましょう。

代わりに小数の合計を得る

多くの場合、すっきりした答えは角かっこ付きの時刻ではなく、ただの数値です。合計に 24 を 掛けて、セルを数値として書式設定します。

=SUM(B2:B8) * 24     ' -> 25.5    (小数の時間。折り返さず、掛け算しやすい)
=SUM(B2:B8) * 24 * rate          ' そのまま人件費へ

小数の時間には 24 時間の上限がなく、時給ときれいに掛け算できます。だから合計の 下流にあるもの —— 費用、平均、比較 —— には、[h]:mm 表示より数値を選びましょう。

時刻書式チートシート

  • h:mm —— 時計の時刻。24 で折り返す。経過時間ではなく時刻用。
  • [h]:mm —— 経過した時間と分。累積する。経過時間用。
  • h:mm AM/PM —— 12 時間制の時計。
  • [m]:ss —— 合計の分と秒(ストップウォッチ / ラップタイム)。
  • h:mm:ss.000 —— ミリ秒つき。

古典的な罠: 表示形式では、mhhh の直後では分を、それ以外の場所では月を 意味します。 mm 単独では月、hh:mm は時と分です。月と分を混ぜたいなら、Excel は 位置で見分けることを知っておきましょう。「分」の書式のはずが 07 のような小さな数を 不可解に表示するときは、月のコードを書いてしまっています。

判断のしどころ

  • 正しく読めなければならない経過時間の列 → 一度 [h]:mm で書式設定します。経過 時間を既定の h:mm のまま放置してはいけません。24 時間以上のどんな合計でも静かに 折り返します。
  • 費用・平均・グラフに渡る合計* 24 で小数の時間に変換し、時刻ではなく数値で 格納します。
  • ####### を表示するセル → それは負の時刻です。1904 年システムに手を伸ばす前に、 引き算の順序を直すか、小数の時間に移りましょう。
  • 給与計算 → 常に小数の時間で —— 時刻を小数に変換するを 参照してください。

ExcelMaster はどう役立つか

このバグの腹立たしいところは、数式がすでに正しいことです —— 裏切るのは書式だけなので、 人は表示設定を直そうとして動いている SUM を書き直してしまいます。ExcelMaster は パターン(折り返した時刻の合計、####### のセル、時計書式の経過時間)を見抜き、正しい 表示形式か * 24 の変換を適用します。だから読み取る合計は、Excel が計算した合計に なります。隠れた小数をめぐるデバッグではなく、答えが手に入ります。

よくある質問

なぜ時刻の合計が 24 時間でリセットされるのですか?

値は正しく、書式がまる 1 日を差し引いた余りしか表示しない時計書式(h:mm)だから です。だから 25:30 が 1:30 と表示されます。ユーザー定義書式 [h]:mm を適用しましょう —— 角かっこが Excel に、24 で折り返さず時間を累積するよう伝えます。

Excel の [h]:mm は何を意味しますか?

経過時間のためのユーザー定義書式です。[h] の角かっこが、時間を 24 で折り返さず 超えて進ませるので、25 時間 30 分の経過時間が 1:30 ではなく 25:30 と表示されます。 分や秒で累積するには [m][s] を使います。

なぜ時刻が ####### (シャープ記号) で表示されるのですか?

セルに負の時刻が入っているからです —— たいていはまえの時刻からあとの時刻を引いた 場合 —— そして Excel の 1900 年日付システムは負の時刻を表示できません。引き算の順序を 直すか、=MOD(end - start, 1) を使うか、負になれる小数の時間(* 24)で扱いましょう。

1 週間ぶんの労働時間を合計するには?

=SUM(range) として合計を [h]:mm で書式設定するか、時給と掛け算できる小数の合計に は =SUM(range) * 24 を使います。どちらも同じ裏の値を足し、違うのは表示だけです。

時刻の合計を小数として表示するには?

24 を掛けてセルを数値として書式設定します: =SUM(range) * 2425:3025.5 にします。ただの数値なので 24 で折り返すことがなく、時給ときれいに掛け算できます。

検証環境

検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-25。

関連ガイド: 時刻を小数(10 進の時間)に変換する · Excel TIME・HOUR・MINUTE・SECOND · Excel TEXT · Excel INT・TRUNC・MOD · Excel SUM と SUMIFS