エクセルで勤務時間や作業時間を集計していると、合計が24時間を超えた瞬間に「0:30」「1:15」のように、日をまたいだ分が消えてしまうことがあります。
これは入力ミスではなく、エクセルの表示形式の仕様によるものです。
本記事では、時間を正しく足し算し、24時間以上でも「35:30」「120:00」のように合計時間を表示するための具体的な設定方法を、初心者の方にも分かりやすく解説します。
あわせて、残業時間集計やシフト管理に役立つ実用的なテクニックや、よくある失敗例とその対処法も整理しています。
エクセルで時間計算を行うすべての方に役立つ内容ですので、ぜひ最後まで読み進めてみてください。
目次
エクセル 時間 足し算 24時間以上を正しく表示する基本の考え方
エクセルで時間を足し算した際に24時間を超えると表示がおかしく見える原因は、エクセルが1日を1として扱う内部仕様にあります。
たとえば「12:00」は0.5日、「24:00」は1日として計算されており、標準の時刻表示では「1日を超えた分」が日付として切り捨てられてしまいます。
そのため、合計が「28時間」であっても、既定の表示形式では「4:00」と表示され、合計時間が分かりにくくなってしまいます。
この問題を解決するには、表示形式を時間ではなく「経過時間」として設定し直すことが重要です。
具体的には、セルの表示形式を「[h]:mm」や「[h]:mm:ss」のように、角括弧付きの h を使ったユーザー定義形式に変更します。
このように設定することで、24時間を超えても「合計時間」として増え続ける表示になり、勤務時間や作業時間の集計が直感的に理解しやすくなります。
まずは、このエクセルの時間計算の仕組みと、24時間以上を扱うための考え方を押さえておきましょう。
エクセルの時間は「日数」で管理されている
エクセルでは、シリアル値と呼ばれる仕組みで日付と時間を管理しています。
1は24時間、0.5は12時間、0.25は6時間といった具合に、1日を1とする実数値で表現しているのが特徴です。
そのため、9時間勤務を5日分合計すると、内部的には「9/24 × 5」という計算が行われ、シリアル値としては1.875といった数値になります。
問題は、このシリアル値をどのような形式で表示するかです。
標準的な時刻形式「hh:mm」では、1日部分は日付として解釈されてしまい、表示上は「時間部分だけ」が切り出されます。
そのため、1.875日は「21:00」とだけ表示され、実際には「45時間」あることが一目で分からなくなります。
この挙動を理解しておくと、後述する表示形式の調整がなぜ必要なのかが明確になります。
24時間以上の合計時間を表示するために必要な設定のポイント
24時間以上の合計時間を正しく表示するための最大のポイントは、表示形式で「[h]」を使うことです。
角括弧付きの h は、通常の h と違い、1日を超える時間も「累計の時間」として表示してくれます。
「[h]:mm」に設定すれば、「45時間」は「45:00」、「100時間30分」は「100:30」と表示されます。
さらに、秒まで管理したい場合は「[h]:mm:ss」とすることで、「35:20:15」のように秒単位まで見やすく表示できます。
この設定は、Windows版、Mac版、Microsoft 365版のエクセルでも共通して利用できます。
時間の足し算自体は SUM 関数などで問題なく行われるため、計算式ではなく表示形式を調整することが、24時間以上を正しく扱うための基本となります。
勤務時間・残業時間の集計で起こりがちな誤解
勤務時間や残業時間を集計していると、「合計したら時間が減った」「24時間を超えたら0に戻ってしまった」と感じるケースがよくあります。
これは計算が間違っているのではなく、見え方だけが変になっている状態です。特に、日別の勤務時間を「8:30」「7:45」のように時間形式で入力し、その合計セルを標準の時刻形式のままにしていると、簡単にこの誤解が生まれます。
また、合計時間を数字に見せたいからといって、セルに「8.5」「7.75」のように時間を小数で入力すると、後から時間形式の計算と混在して複雑になりがちです。
エクセルは時間計算が得意なツールなので、入力は時間形式(h:mm)、合計の見せ方だけを調整するという考え方が、もっともトラブルの少ない運用方法となります。
24時間以上の合計時間を表示する具体的な設定手順

ここでは、実際にエクセル上で24時間以上の合計時間を表示するための設定手順を、操作順に沿って解説します。
この手順は、Microsoft 365、エクセル2019以降はもちろん、多くのバージョンで同様に利用できます。
基本的な流れは、時間を入力 → SUM で合計 → 合計セルの表示形式を変更、という3ステップです。
特に重要なのは3つ目のステップで、ユーザー定義形式で「[h]:mm」や「[h]:mm:ss」を指定する点です。
これにより、日付部分に相当する値を時間に変換して出力してくれるため、24時間を超えた合計時間がそのまま見えるようになります。
以下で、1つずつ丁寧に確認していきましょう。
時間を入力するセルの形式と注意点
まず、時間を入力するセルは、通常の時刻形式「h:mm」または「hh:mm」のままで問題ありません。
たとえば、A2 から A6 までのセルに、以下のように入力します。
- 8:00
- 7:30
- 9:00
- 8:30
- 7:00
このとき、あえてセルの表示形式を変更しなくても、エクセルは自動的に時刻として認識してくれます。
注意したいのは、「8:30」「7:5」のように入力したつもりが、「8月30日」「7月5日」と解釈されてしまうケースです。
もし日付に変わってしまった場合は、セルの表示形式を「時刻」に変更し、再入力することで解決できます。
また、「8.5」のような小数で時間を管理すると、ほかの時間形式との混在がややこしくなるため、基本は「時刻形式」で統一することをおすすめします。
SUM関数で時間を合計する方法
時間を入力したら、次に合計を計算します。合計を表示したいセル(例として A7)を選択し、次のように入力します。
=SUM(A2:A6)
この式は、A2 から A6 までの時間をすべて足し合わせる関数です。
エンターキーを押すと、内部的には正しい合計時間が計算されています。
ただし、この時点ではセルの表示形式が「時刻」や「標準」のままなので、合計が24時間を超えると、見かけ上は「繰り上がり」が起きてしまいます。
例えば、合計が「40時間」の場合でも、「16:00」とだけ表示されます。
この状態は計算が間違っているわけではなく、表示がおかしいだけです。
次のステップで、表示形式を変更することで、合計時間を24時間以上でも正しく確認できるようになります。
ユーザー定義形式 [h]:mm / [h]:mm:ss の設定手順
24時間以上の時間を正しく表示するために、合計時間を表示しているセルに対して、ユーザー定義の表示形式を設定します。
手順は次の通りです。
- 合計時間が表示されているセル(例:A7)を選択します。
- 右クリックして「セルの書式設定」を開きます。
- 分類から「ユーザー定義」を選びます。
- 種類の欄に [h]:mm と入力します。
- 秒まで表示したい場合は [h]:mm:ss と入力します。
- OK をクリックして閉じます。
これで、合計が40時間であれば「40:00」、100時間30分であれば「100:30」のように表示されます。
通常の「hh:mm」では24時間ごとに0に戻ってしまいますが、角括弧付きの h を使うことで、24時間を超えた分も含めて「総時間数」として表示されるようになります。
この設定は、多くの時間集計シートの基礎となる非常に重要なポイントです。
表示形式の違いを比較する一覧表
同じシリアル値でも、表示形式によって見え方が大きく変わります。代表的なパターンを表にまとめると、次のようになります。
| シリアル値 (内部値) |
表示形式 | 表示例 | 用途の目安 |
| 1.5 | hh:mm | 12:00 | 時刻としての表示 |
| 1.875 | hh:mm | 21:00 | 日付を伴う時刻表示 |
| 1.875 | [h]:mm | 45:00 | 合計時間の表示に最適 |
| 4.2 | [h]:mm:ss | 100:48:00 | 長時間の作業記録など |
このように、同じ内部値でも表示形式次第で意味合いがまったく変わります。
24時間以上の合計を扱う場面では、基本的に [h]:mm または [h]:mm:ss を使用すると覚えておきましょう。
24時間以上の時間集計でよく使う実用テクニック

基本的な「[h]:mm」形式の設定を押さえたら、次は実務で役立つテクニックを確認しておきましょう。
業務の現場では、単に時間を合計するだけでなく、残業時間だけを集計したり、月をまたぐ勤務時間を管理したり、時間から金額(賃金)を算出したりと、さまざまなニーズがあります。
ここでは、残業時間の抽出、シフト表の合計、時間から金額への変換といった、よく使われるパターンを中心に解説します。
いずれも、24時間以上の合計時間を適切に扱う上で押さえておきたいポイントばかりです。
勤務表・シフト表の時間合計への応用
勤務表やシフト表では、日ごとの勤務時間を入力し、週単位・月単位で合計を集計するパターンが一般的です。
たとえば、B列に出勤時刻、C列に退勤時刻、D列に「退勤時刻 − 出勤時刻」で勤務時間を求め、最後に D 列を SUM で合計する方法がよく用いられます。
このときのポイントは、合計セルだけを [h]:mm 表示にすることです。
個々の勤務時間(D列)は「h:mm」でも問題ありませんが、合計は24時間を超えるため、「[h]:mm」の形式にする必要があります。
これにより、月間トータルの勤務時間が「168:30」のように視覚的に分かりやすくなります。
また、週ごとに小計を設定しておくと、労働時間の管理や健康管理にも活用できます。
残業時間や深夜時間を別計算する方法
残業時間だけを集計したい場合は、所定労働時間を基準とした IF 関数を組み合わせる方法が有効です。
例えば、1日の所定労働時間を 8:00 とし、D列にその日の勤務時間があるとします。
E列で残業時間を計算する場合、次のような式が利用できます。
=IF(D2>TIME(8,0,0), D2 – TIME(8,0,0), 0)
この式は、勤務時間が8時間を超えていれば超過分を計算し、それ以外は0として扱うものです。
そのうえで、E列の合計セルを「[h]:mm」形式に設定すれば、月間の残業時間が「35:45」のように表示されます。
深夜時間や休日時間などを別集計したい場合も、同様に基準となる時間帯や条件を IF や AND、OR 関数で指定することで管理できます。
条件付きの時間集計では、関数で何を抽出し、表示形式でどう見せるかを分けて考えるのがポイントです。
合計時間から時給計算やコスト計算を行う
合計時間が求められたら、その時間をもとに賃金やコストを計算したい場面も多いでしょう。
ここで注意したいのは、時間のシリアル値が「日単位」であることです。
たとえば、セル A7 に合計時間があり、時給が B1 に「1200」として入力されているとします。
このとき、合計賃金を求めるには、次のような式を使います。
=A7 * 24 * B1
A7 は1日を1とする値なので、24を掛けて「時間数」に変換し、それに時給を掛けることで金額を算出できます。
合計時間が「45:00」(1.875日)で時給1200円の場合、1.875×24×1200=54,000 となります。
金額を表示するセルは、「通貨」や「数値」形式に設定し、小数点以下を非表示にすると見やすくなります。
このように、時間のシリアル値を意識して24を掛けることが、コスト計算では重要なポイントです。
よくあるトラブルと原因・対処法
時間計算は一見シンプルに見えますが、実務の現場では思わぬトラブルに遭遇することが少なくありません。
「合計が合わない」「マイナスの時間が正しく表示されない」「日付と時間が混ざってしまう」など、典型的なつまずきポイントがいくつか存在します。
ここでは、特に問い合わせが多いトラブルを取り上げ、その原因と対処法を整理します。
問題のパターンを理解しておけば、同じことを繰り返し調べる必要がなくなり、テンプレートの品質向上にもつながります。
24時間を超えたら表示が0時に戻ってしまう場合
最も多い相談が、「合計時間が24時間を超えたら、0:00付近に戻ってしまう」というものです。
この原因はほぼ例外なく、合計セルの表示形式が「hh:mm」など通常の時刻形式のままになっていることです。
この場合、24時間(1日)を超えた分は日付として扱われ、時間部分には反映されません。
対処法はシンプルで、セルの書式設定から表示形式を「ユーザー定義」に変更し、[h]:mm や [h]:mm:ss を指定するだけです。
設定を変更した瞬間に、「4:00」と表示されていたセルが「28:00」のように正しい合計時間を示すようになります。
この挙動はエクセルの仕様であり、バージョンによる違いもほとんどありません。
合計が合わない・少しだけずれる原因
時間の合計が「なぜか1分だけずれる」「秒単位で誤差が出る」といったケースでは、入力や計算のどこかで小数の扱いが混ざっている可能性があります。
たとえば、「8.5」を「8時間30分」とみなしているセルと、「8:30」と入力されたセルが同じ列に混在していると、見た目は近くても内部値はまったく異なります。
また、他システムから取り込んだデータがテキスト形式のままになっており、「9:00」と見えていても、実際は文字列として扱われているケースもあります。
この場合、SUM 関数では正しく集計されないため、VALUE 関数やテキスト区切りウィザードを使って、時間として認識させ直す必要があります。
合計が合わないと感じたら、まずは「セルの表示形式」「実際の値(数式バー)」「テキストか数値か」を確認することが重要です。
マイナスの時間が表示できないケース
標準のエクセルでは、時刻同士の引き算でマイナスになると、「####」と表示されることがあります。
これは、時刻形式が負の時間を表現できない仕様によるものです。
たとえば、終了時刻から開始時刻を引いた結果が負になると、エラーのような見え方になります。
この問題への対処としては、1904年の日付システムを利用する方法や、TEXT 関数で文字列として出力する方法、または「負の場合は0として扱う」などのロジックで回避する方法があります。
実務では、「マイナスの時間」をそのまま数値として扱うよりも、誤差や未入力を検出するためのフラグとして使うケースが多いため、IF 関数などを使って条件分岐させると扱いやすくなります。
時間計算を快適にする便利な表示形式とカスタマイズ例

時間計算を頻繁に行う場合、表示形式を少し工夫するだけで、シートの可読性や作業効率が大きく向上します。
特に、日数と時間を同時に表示したり、経過時間を時間だけでなく「日+時間」として見せたりするカスタマイズは、長時間のプロジェクト管理や設備稼働時間の管理などで有効です。
ここでは、代表的なカスタム表示形式とその使いどころを紹介します。
時間そのものは変えずに、見せ方だけを工夫することで、同じデータからさまざまな視点の情報を読み取れるようになります。
日+時間で表示するカスタム書式
長期間にわたる稼働時間などでは、「合計 120:00」と表示されるよりも、「5日 0:00」と表示されたほうが直感的に理解しやすい場合があります。
このようなときは、カスタム書式を次のように設定します。
d日 h:mm
この形式では、シリアル値の「整数部分」が日数、「小数部分」が時間として表示されます。
たとえば、セルに 5.5 日分の時間が入っている場合、「5日 12:00」といった表示になります。
プロジェクトの経過時間やメンテナンス間隔など、「日単位」と「時間単位」の両方を意識したい場面で有効です。
必要に応じて、「d日 h:mm:ss」や「m月d日 h:mm」のように拡張することもできます。
分単位・秒単位で集計したい場合の工夫
コールセンターの対応時間やシステム処理時間などでは、「分」や「秒」で合計を確認したいことがあります。
この場合、内部値を利用して次のような式を使います。
- 合計分を求める:=合計時間セル * 24 * 60
- 合計秒を求める:=合計時間セル * 24 * 60 * 60
これにより、たとえば「1:30:00」(1時間30分)の場合、合計分は90、合計秒は5400として計算できます。
表示形式は、「数値」や「標準」で問題ありませんが、桁数が大きくなる場合は、千単位の区切り記号を付けると読みやすくなります。
また、「〇分〇秒」として表示したい場合は、INT 関数や MOD 関数を組み合わせて、分と秒を分解して表示する方法もあります。
用途に応じて、時間をどの単位で管理すると最も分かりやすいかを考えて設定すると良いでしょう。
時間表示を色分けして視認性を高める
長時間労働のチェックや残業時間の多寡を一目で把握したい場合、条件付き書式を使って色分け表示を行うと便利です。
たとえば、1日の残業時間が2時間を超える場合に文字色を赤にする、といったルールを設定できます。
条件付き書式のルール例:
- 数式を使用して書式を決定:=セル > TIME(2,0,0)
- フォント色を赤に設定
また、月間の合計残業時間が一定時間を超えた場合にセルの背景色を変更するなど、しきい値に応じた視覚的な警告を設定することも可能です。
時間そのものは目に見えないリスクを含んでいることが多いため、条件付き書式を活用して「見える化」することで、運用上の安全性も高めることができます。
まとめ
エクセルで時間を足し算し、24時間以上の合計時間を正しく表示するためには、計算式ではなく表示形式を調整することが最重要ポイントです。
具体的には、合計時間を表示するセルにユーザー定義形式で「[h]:mm」や「[h]:mm:ss」を設定することで、24時間を超えても「28:30」「120:00」のように累積時間として表示できるようになります。
記事内で解説したように、エクセルの時間は1日を1とするシリアル値で管理されており、その見せ方次第で意味合いが大きく変わります。
勤務表やシフト表、残業時間の集計、時給計算、分・秒単位の集計など、さまざまな用途に応じて、表示形式と関数を適切に組み合わせることで、時間管理の精度と効率を大きく高められます。
まずは、身近な勤務時間の合計セルに「[h]:mm」を設定するところから始めてみてください。
時間集計の結果が格段に見やすくなり、エクセルでの時間管理がより強力な武器になるはずです。
コメント