エクセル迷子案内所
← 学習記事一覧

時間の合計が「1:00」になる・24 時間を超えると合わない原因と直し方

公開: 2026-07-28
執筆: FMaker(エクセル迷子案内所 運営者)対応を想定: Microsoft 365 / Excel 2021最終事実確認: 2026-07-28

「勤務時間を SUM したら合計が 1:00 になった…25 時間のはずなのに」 「セルの表示形式を『時刻』に変えてみても、全然合わない」 「時間の足し算がおかしい、原因が分からない」

そんなときにまず疑いたいのは 24 時間で表示が繰り上がる書式設定 です。この場合、SUM の計算自体は合っています。

この記事では、合計セルの表示形式を [h]:mm に変えるだけで 25:00 と正しく表示される直し方と、なぜそうなるかの仕組み、TEXT 関数での文字列化、勤怠管理でよくある続きの落とし穴を解説します。

💡 関連記事:


まずは症状で確認(あなたも同じ?)

次のどれかに当てはまるかどうか確認してください。

  • 8:00 + 9:30 + 7:30 の SUM が 1:00 になっている
  • 勤務時間の合計が、明らかに小さい数字になっている
  • 表示形式を「時刻」に変えても直らない

この記事で扱うのは、h:mm 書式が 24 時間を 1 日として繰り上げる ケースです。

なお、合計が小さくなる原因は繰り上がりとは限りません。時刻が 文字列 として入っているセルは SUM に足されないため、合計そのものが小さくなります(8:00 が文字列なら 8:00 + 9:30 + 7:30 の合計は 17:00、3 つとも文字列なら 0:00 です)。合計セルを [h]:mm にしても数字が変わらないときは、合計している範囲を =COUNT(B2:B4) のように数えてみてください。COUNT が数えるのは数値が入ったセルで、時刻も数値なので数に入ります(空欄は数えません)。返ってきた数が 時間を入力したはずのセルの数(この例なら 3)より少なければ、そのうちのどれかが数値として扱われていません。時刻が文字列として入っているときの典型的な症状です。

勤務時間 8:00 / 9:30 / 7:30 の SUM が 1:00 と表示されている症状。合計セル B5 の数式は =SUM(B2:B4)。25:00 のはずが 24 時間で繰り上がって 1:00 として表示されている

📌 結論(読み急ぐ人向け) 合計セルの表示形式を [h]:mm に変えるだけ25:00 と正しく表示されます。なぜそうなるかは次の章で説明します。


なぜ 25:00 が 1:00 になるのか(時間の内部データと 24 時間の壁)

Excel は時間を 「1 日 = 1」という小数 で内部に持っています。12:000.524:00(翌日の 0:00)は 1.08:008/24 ≒ 0.333… です。

これは姉妹記事の日付版で説明している「シリアル値」と同じ仕組みです。日付が 1900 年 1 月 1 日からの通し番号なら、時間はその小数部分です。

8:00 + 9:30 + 7:30 = 25:00 は、内部では次の計算になります。

8/24 + 9.5/24 + 7.5/24 = 25/24 = 1.0416...

この 1.0416... という数字を、既定の書式 h:mm で表示すると「1 日と 1 時間 0 分 → 1:00」として表示されます。24 時間で 1 日として繰り上げるのが h:mm のルールだからです。

SUM の計算は合っています。表示だけが読者の期待とズレています。

同じ =SUM(B2:B4) を 2 通りの表示形式で並べた対比。上段は既定の h:mm で 1:00、中段は [h]:mm で 25:00 と表示され、表示形式を変えても内部データは同じで見た目だけが変わることが分かる。下段は表示形式ではなく数式を変えた例で、同じ合計に 24 を掛けた数値 25

📌 ポイント: SUM は間違っていません。表示形式が「24 時間で 1 日として繰り上げる」設定になっているだけです。書式を変えるだけで直ります。


直し方:表示形式を [h]:mm にするだけ(1 分)

操作手順は次の 3 ステップです。

  1. 合計セル1:00 と表示されているセル)を選ぶ
  2. 表示形式のダイアログを開いて「ユーザー定義」を選ぶ
  3. 種類の欄に [h]:mm と入力して確定する

表示形式のダイアログを開くショートカット: Windows は Ctrl+1、Mac は Cmd+1 で開けることが多いです(バージョンによって場所が少し異なります)。

[h]:mm を入力すると、繰り上がっていた時間がそのまま 25:00 と表示されるようになります。数式も元データも変えていません

B5 の表示形式を [h]:mm にした結果、同じ =SUM(B2:B4) が 25:00 と正しく表示されている。数式と元データは画像 01 から変わっていない

📌 ポイント: 元データも数式も変えていません。表示形式を [h]:mm に変えるだけ。1 セル 1 分で終わります。


[h]:mm[] は「繰り上げない」の合図(派生パターン)

[] で囲まれた単位は 「そこで繰り上げない」 という意味です。同じルールで書ける派生パターンを紹介します。

表示形式意味25 時間 30 分の表示例
h:mm24 時間で 1 日として繰り上げる(既定)1:30(=1 日と 1:30)
[h]:mm時間を繰り上げず累計で表示する25:30
[m]全部を分に直して表示する1530
[m]:ss分+秒で、60 分で繰り上げない1530:00
[h]:mm:ss時+分+秒で、24 時間で繰り上げない25:30:00

TEXT 関数に同じ書式コードを渡すと、次の文字列が返ります。

  • =TEXT(SUM(TIME(8,0,0),TIME(9,30,0),TIME(7,30,0)),"[m]")"1500"(25 時間 = 1500 分)
  • =TEXT(SUM(TIME(1,30,45),TIME(0,45,20)),"[m]:ss")"136:05"(1:30:45 + 0:45:20 = 2:16:05 → 分換算で 136 分 5 秒)
  • =TEXT(SUM(TIME(8,0,0),TIME(9,30,0),TIME(7,30,0)),"[h]:mm:ss")"25:00:00"

📌 ポイント: [] を付けた単位は繰り上がりません。時間を累計で見たいときは [] を思い出してください。


文字列として埋め込みたいときは TEXT 関数

帳票・メール本文・別セルとの結合(&)で 文字列として 時間を書きたいときは、書式を当てたセルを参照するだけでは元のシリアル値(1.0416...)が結合されてしまいます。

TEXT 関数 を使うと書式コードを埋め込んだ文字列として出せます。

=TEXT(SUM(B2:B4),"[h]:mm")
=TEXT(SUM(B2:B4),"[m]")
="合計勤務時間: "&TEXT(SUM(B2:B4),"[h]:mm")&" 時間"

=TEXT(SUM(TIME(8,0,0),TIME(9,30,0),TIME(7,30,0)),"[h]:mm")"25:00"文字列として 返します。

表示形式との違いを整理します。表示形式は「セルの見た目を変える」もので元データは変わりません。TEXT 関数は「書式を当てた結果を文字列として返す」ものです。

別セルと & でつないだら 1.0416... という数字が出た場合、それは日付が数字になる問題と同じ「シリアル値がむき出しで見える」現象の時間版です。

📌 ポイント: セル同士を & でつなぐときは TEXT を経由します。表示形式は見た目、TEXT は文字列にする関数、と役割を分けて覚えてください。


勤怠・シフト管理でよくある続きの落とし穴

24 時間超えを直したあとに、よく踏みがちな落とし穴を 3 つだけ挙げます。

  1. h:mm のまま印刷・PDF 出力している → 印刷・共有の前に、合計セルの表示形式が [h]:mm になっているか確認しましょう。

  2. 合計時間 × 時給の計算がおかしい時給計算は [h]:mm の見た目ではなく元のシリアル値 × 24 で行います=SUM(B2:B4)*24*時給 のように、合計の数値に 24 を掛けてから時給を掛けます。たとえば時給 1000 円なら =SUM(B2:B4)*24*100025000(25 時間 × 1000 円)になります。

  3. 日をまたぐシフト(22:00 → 翌 6:00)で負の値になる → これは本記事のスコープ外です(24 時間超えでなく、翌日に切り替わる負の値問題)。心当たりがある場合は AI サポートで対話的に確認してください。

📌 ポイント: 「時給の掛け算は [h]:mm の見た目ではなく元のシリアル値 × 24 で行う」—表示形式に釣られないことが肝心です。


まとめチェックリスト

  • 合計セルの表示形式を [h]:mm にしたら 25:00 と正しく表示されるか
  • 数式(=SUM(...))は変えなくてよい(表示だけの問題)
  • Excel の時間は「1 日 = 1」の小数で保存されている(24:00 = 1.0
  • [] で囲むとその単位で繰り上げない([h] [m] いずれも同じルール)
  • 別セルと & でつなぐときは TEXT(..., "[h]:mm") を経由する
  • 時給計算は表示形式でなく元のシリアル値 × 24 で行う
  • 姉妹記事「日付が数字になる問題」と同じ「シリアル値と表示形式」の仕組み

よくある質問

Q. [h]:mm を入力したらエラーが出て設定できません

種類の欄に前の書式が残っていることがあります。いったん消してから [h]:mm を入力し直してください。

入力は 半角[h]:mm で揃えるのが確実です。全角の記号([h]【h】 など)は、そのまま通ることもあれば、エラーが出ないまま 【1】:00 のような意図しない表示になる こともあります。エラーが出なくても表示が思ったとおりにならないときは、半角で入力し直すのが早い切り分けです。


Q. Mac でも同じ書き方でできますか?

考え方は同じです。表示形式のダイアログは Cmd+1 で開けることが多く(バージョンによって場所が少し異なります)、書式コード [h]:mm はプラットフォーム共通で動きます。


Q. 表示形式のダイアログが見つかりません

TEXT 関数を使う方法(=TEXT(SUM(...),"[h]:mm"))なら、セルの表示形式に触れずに 25:00 という文字列を作れます。表示形式のダイアログの場所や項目名はバージョンによって少し異なるので、見つからないときはこちらのほうが早いことがあります。


Q. 合計セルの数字は正しいのに、他のセルと & でつないだら 1.0416... と数字が出ます

表示形式は「そのセルの見た目」だけを変えるものです。他のセルと & でつなぐときは TEXT(..., "[h]:mm") を経由してください(本記事「TEXT 関数」の章を参照)。日付で同じ現象が起きたときは日付が数字(45678など)になるもあわせてご覧ください。


Q. [h]:mm は 25 時間まで?100 時間でも動きますか?

[] は「繰り上げない」の合図ですので、実用上は時間数を気にする必要はありません。=TEXT(100/24,"[h]:mm")"100:00"=TEXT(1000/24,"[h]:mm")"1000:00" を返します。


Q. 日をまたぐシフト(22:00 〜 翌 6:00)が負の値になります

これは本記事とは別問題です(「24 時間超えの表示」ではなく「翌日に切り替わる負の値問題」)。本記事のスコープ外となります。AI サポートで対話的に原因を切り分けてみてください。


Q. 時給を掛けたら金額が小さくなりました

[h]:mm は見た目を変えるだけで、内部データは 1.0416...(1 日単位)のままです。時給計算は =SUM(...)*24*時給 のように元のシリアル値を 24 倍してから掛けてください(本記事「勤怠の落とし穴」の章を参照)。


Q. それでも直りません

記事の手順を試しても解決しない場合、特定のデータ形式だけで起きるレアケースかもしれません。AI サポートで対話的に原因を切り分けてみてください。

次に読む

よく読まれている

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→