エクセルで時刻を入力したのに数字だけが表示されたり、時間の合計が24時間を超えた瞬間に0へ戻ったりして、戸惑うことがあります。

時刻表示の問題は、セルの表示形式、入力値の扱い、計算式、日付をまたぐ時間など、複数の要因が重なって起こります。

しかし、時刻がエクセル内部でどのように保存されるかを理解すれば、表示がおかしい状態は多くの場合で修正できます。

この記事では、時間表示の直し方、時間計算、時間合計、時間足し算の考え方を、実務で使いやすいサンプルと数式で解説します。

時刻を正しく扱う基本は、値を時刻として入力し、目的に合う表示形式を設定することです。

合計時間が24時間を超える場合は、表示形式を[h]mmに変更することが重要です。

日付をまたぐ勤務時間は、終了時刻から開始時刻を引くだけでは不足するケースがあります。

まずは、時刻表示が崩れたときに最初に確認したい操作から見ていきましょう。

 

エクセルの時刻表示を直す方法【セルの書式設定】

A列 B列 C列
開始時刻 終了時刻 作業時間
9:00 17:30 8:30

それではまず、時刻の値を見やすい時分表示へ戻すセルの書式設定について解説していきます。

セルに0.375や0.708333のような小数が見えている場合、時刻データが壊れたのではなく、表示形式だけが標準や数値になっている可能性があります。

エクセルでは1日を1として管理しており、午前9時は0.375、午後5時は約0.708333として保存されます。

午前0時は0です。

正午は0.5です。

午後6時は0.75です。

 

時刻形式への変更操作

セルを選択して[ホーム]タブの[数値]グループを確認すると、現在適用されている表示形式を変更できます。

時刻だけを表示したい場合は、表示形式の一覧から[時刻]を選ぶか、セルの書式設定でユーザー定義を指定します。

日本語版のエクセルでは、午後3時を15:00と表示する24時間表記が業務表では扱いやすい形式です。

セルを右クリックして[セルの書式設定]を開き、[表示形式]タブの[ユーザー定義]でh:mmと入力すると、9:05のように時分を表示できます。

秒まで必要な場合はh:mm:ss、午前や午後を付けたい場合はAM/PM h:mmを使います。

hは時間、mmは分、ssは秒を表す書式記号です。

月も分もmで表されますが、時刻のhやssに囲まれたmmは分として判断されます。

時刻の入力欄と計算結果のセルは、見分けやすい書式にそろえておくと入力ミスの発見にも役立ちます。

 

数値表示になる原因

時刻セルが突然小数になる原因には、コピー貼り付け、書式のクリア、CSVデータの取り込みなどがあります。

特に[ホーム]タブの[クリア]から[書式のクリア]を実行すると、時刻値は残っていても見た目だけが標準形式へ変わります。

この場合は値を打ち直す必要はなく、該当セルまたは列全体を選んで表示形式を戻せば解決します。

ただし、セルの左上に緑色の三角があり、9:00が文字列として保存されている場合は、単なる書式変更では計算できません。

文字列の時刻は、セルを選択して警告マークから[数値に変換]を選ぶ方法や、VALUE関数を使う方法で変換します。

表示が0.5なら、セルの中身は正しい時刻値である可能性が高い状態です。

表示が9:00でも左寄せで計算できないなら、文字列になっている可能性があります。

見た目と計算結果の両方を確認することが、原因の切り分けにつながります。

 

表示形式の使い分け

始業時刻や会議開始時刻にはh:mm、秒単位の作業ログにはh:mm:ssが適しています。

予定表で日付と時刻を同じセルに表示するなら、yyyy/m/d h:mmのような形式を設定できます。

時刻の合計を表示するセルだけは、通常のh:mmではなく[h]:mmを使う場面があります。

角括弧の付いた[h]は、24時間を超えた時間を累計のまま表示するための指定です。

【操作のポイント】時刻が小数で見えるときは、最初に数式バーを確認し、値を消さずに表示形式だけをh:mmへ変更します。

 

時間計算と時間足し算の数式

A列 B列 C列
開始時刻 終了時刻 経過時間
9:00 17:30 =B2-A2

続いては、開始時刻と終了時刻から時間を求める基本計算を確認していきます。

1行目がヘッダーの表では、2行目の開始時刻をA2、終了時刻をB2として数式を作成します。

通常の日中勤務であれば、C2に=B2-A2と入力するだけで、17:30から9:00を引いた8:30を求められます。

経過時間の基本式は、終了時刻-開始時刻です。

サンプルではC2に=B2-A2と入力します。

計算結果のC列にはh:mmの表示形式を設定します。

 

開始時刻と終了時刻の差分

時間差を出すセルには、まず=B2-A2を入力しましょう。

結果が0.354167のような小数に見えるときは、C2の表示形式をh:mmへ変更します。

数式バーでは=B2-A2と表示され、セル上では8:30と見える状態が、時間計算として分かりやすい形です。

数式をC2へ入力した後、セル右下のフィルハンドルを下方向へドラッグすれば、C3以降にも同じ計算をコピーできます。

数式は最初のデータ行だけに入力し、オートフィルで引っ張ると参照先が各行に合わせて変わります。

2行目の数式が=B2-A2の場合、3行目へコピーすると=B3-A3になります。

この仕組みを相対参照と呼びます。

休憩時間をD列に入力する表なら、実働時間は=B2-A2-D2で計算できます。

 

時間を足す計算

基準となる時刻に所要時間を加えたい場合は、時刻セルと時間セルを足し算します。

たとえばA2に9:00、B2に1:30が入力されている場合、C2へ=A2+B2と入力すると10:30になります。

分を直接加えたいときは、TIME関数を使う方法が安全です。

9時に90分を加える数式は=A2+TIME(0,90,0)です。

TIME関数はTIME(時,分,秒)の順で指定します。

90分を1時間30分として入力するよりも、分数が別セルにあるときはTIME関数の方が計算式を読み返しやすいでしょう。

たとえばB2に追加分数の90がある場合、=A2+TIME(0,B2,0)と入力できます。

時間を足した結果が翌日へ進む場合でも、時刻だけの表示では日付部分が見えません。

翌日の日時も管理したいときは、元のセルに日付を含めるか、日付列と時刻列を組み合わせます。

 

分数と時間への換算

作業時間を分で管理しているデータを時分表示へ変換する場合は、分数を1440で割ります。

1日は24時間、1時間は60分なので、1日あたりの分数は24×60で1440分です。

B2に分数がある場合、時分表示へ換算する数式は=B2/1440です。

結果セルには[h]:mmまたはh:mmを設定します。

たとえば90を1440で割ると0.0625となり、表示形式をh:mmにすると1:30と表示されます。

反対に、時刻や時間を分へ戻すには、時刻値へ1440を掛けます。

時間を小数時間へ変換したい場合は、時刻値へ24を掛けると、1時間30分を1.5として扱えます。

【操作のポイント】時間を引く計算は=B2-A2、分数を時間に変える計算は=B2/1440として、結果セルの表示形式までセットで確認します。

 

時間合計が24時間を超える場合の表示形式

A列 B列 C列
日付 作業時間 累計時間
4月1日 8:00 =SUM($B$2:B2)
4月2日 8:30 16:30
4月3日 9:00 25:30

続いては、合計時間が24時間を超えたときに表示が0へ戻る問題を確認していきます。

勤務時間、残業時間、工数、学習時間などを合計すると、24時間を超えることは珍しくありません。

このときSUM関数の計算自体は正しくても、通常のh:mm形式では日付をまたいだ分が表示されず、1:30のように見える場合があります。

25時間30分を25:30と表示したいなら、表示形式を[h]:mmに変更します。

h:mmは時計としての時刻表示です。

[h]:mmは24時間を超えても繰り上げない累計時間表示です。

 

SUM関数による合計時間

1行目にヘッダーがあり、B2からB10までに各日の作業時間が入っている場合、合計セルには=SUM(B2:B10)を入力します。

ここでB列の値が本当の時刻値として入力されていれば、SUM関数は時間を正しく加算します。

一方で、8:30を文字列として入力している場合は合計対象にならないことがあるため注意が必要です。

時間合計の数式は=SUM(B2:B10)です。

合計セルの書式は[h]:mmに設定します。

合計セルを選択して[セルの書式設定]を開き、[ユーザー定義]の種類へ[h]:mmと入力します。

角括弧は半角で入力し、hの前後を間違えないようにしましょう。

表示形式を変えても、合計値そのものは変わりません。

見え方だけを累計時間向けに変える操作です。

 

累計時間のオートフィル

毎日の累計を表示する場合は、C2に=SUM($B$2:B2)と入力します。

この数式では、最初のB2だけを絶対参照にし、終点のB2は行ごとに変わる相対参照にしています。

時間集計.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け 太字 B 罫線 中央揃え 表示形式
C2fx =SUM($B$2:B2)
A B C
1 日付 作業時間 累計時間
2 4月1日 8:00 8:00
3 4月2日 8:30 16:30
赤枠の数式を下へコピー ➤

数式をC2から下へオートフィルすると、C3では=SUM($B$2:B3)、C4では=SUM($B$2:B4)となります。

月間の累計を追う表では、途中で24時間、48時間、100時間を超えても[h]:mmなら見た目が崩れません。

オートフィル後の累計列には、最初から最後まで[h]:mmを設定しておきましょう。

 

合計が0に戻る表示

合計セルが1:30と表示されても、必ずしも計算ミスとは限りません。

その値は25時間30分を、翌日の午前1時30分として表示している可能性があります。

通常のh:mmは時刻表記なので、24時間ごとに時計が一周する考え方です。

25時間30分をh:mmで表示すると1:30になります。

25時間30分を[h]:mmで表示すると25:30になります。

勤務実績やプロジェクト工数では、時計としての時刻より、何時間作業したかを示す累計表示が必要です。

用途に合わせて書式を選ぶことが、エクセルの時間合計で最も重要なポイントになります。

【操作のポイント】SUM関数の結果が24時間で戻るときは、数式を直す前に合計セルの表示形式を[h]:mmへ変更します。

 

日付またぎの勤務時間計算

A列 B列 C列
開始時刻 終了時刻 勤務時間
22:00 6:00 8:00

続いては、夜勤や深夜作業のように日付をまたぐ時間計算を確認していきます。

開始時刻が22:00で終了時刻が翌朝6:00の場合、単純な=B2-A2では負の値になります。

Windows版エクセルの標準的な日付システムでは、負の時刻を通常の時刻形式で表示できず、#######と表示されることがあります。

日付またぎの時間は、終了時刻が開始時刻より小さいかどうかを条件式で判定します。

 

IF関数による翌日判定

開始時刻がA2、終了時刻がB2の場合、C2には=IF(B2<A2,B2+1-A2,B2-A2)と入力します。

終了時刻が開始時刻より早いときだけ、終了時刻へ1日分の1を加えてから差を求める仕組みです。

日付またぎの勤務時間を求める数式は=IF(B2<A2,B2+1-A2)です。

同日内の勤務も含める場合は=IF(B2<A2,B2+1-A2,B2-A2)を使います。

22:00から6:00の例では、6:00に1日を加えて30:00として扱い、そこから22:00を引くため8:00になります。

結果のC2にはh:mmを設定してください。

この数式は開始日と終了日を別に管理していない、時刻だけのシンプルな勤務表に便利です。

 

MOD関数による時間差

日付またぎの差分は、MOD関数を使って求めることもできます。

C2に=MOD(B2-A2,1)と入力すると、引き算の結果を1日単位で循環させて、負の時間を正の時間へ変換できます。

日付またぎの簡潔な数式は=MOD(B2-A2,1)です。

MOD関数の1は、1日を表します。

MOD関数は時刻だけを扱う夜勤計算で便利ですが、24時間を超える実働時間の計算には向きません。

たとえば開始と終了が同じ時刻の場合、0時間なのか24時間勤務なのかを、時刻だけでは判別できません。

長時間勤務や複数日にまたがる案件では、日付も含めて入力する方法が安全です。

 

日付と時刻を組み合わせる管理

開始日をA列、開始時刻をB列、終了日をC列、終了時刻をD列へ分けると、より正確な計算表を作れます。

実働時間を求めるセルには=(C2+D2)-(A2+B2)と入力します。

日付は整数、時刻は小数として保存されるため、日付と時刻を足すことで日時の値になります。

開始日時は開始日+開始時刻です。

終了日時は終了日+終了時刻です。

経過時間は終了日時-開始日時です。

この方法では日をまたぐだけでなく、月をまたぐ作業や複数日間の出張時間も自然に計算できます。

実働時間を表示するセルには、24時間超過に備えて[h]:mmを設定するとよいでしょう。

【操作のポイント】夜勤の開始時刻と終了時刻だけを扱う表にはMOD関数を使い、複数日にわたる記録には日付列を追加します。

 

文字列時刻とエラー表示の対処

A列 B列 C列
文字列の時刻 変換後の時刻 確認結果
09:30 =TIMEVALUE(A2) 9:30

続いては、見た目は時刻なのに計算できない文字列データとエラー表示を確認していきます。

外部システムからCSVを取り込んだ場合や、他の人が入力した表を受け取った場合は、時刻が文字列として入っていることがあります。

文字列の09:30は見た目が同じでも、エクセルが時間として認識していないため、SUM関数や引き算で期待通りに計算できません。

時刻が左寄せで表示され、計算結果が0になる場合は、文字列化を疑います。

 

TIMEVALUE関数による変換

A2に文字列の09:30が入っている場合、B2に=TIMEVALUE(A2)と入力すると時刻値へ変換できます。

変換後のB2が小数で見える場合は、表示形式をh:mmに変更します。

文字列時刻を変換する数式は=TIMEVALUE(A2)です。

変換後の値は計算に使用できます。

TIMEVALUE関数は、エクセルが時刻として解釈できる文字列に使えます。

入力値に余計な空白や全角記号が混ざっていると変換できない場合があるため、元データも確認しましょう。

変換結果を固定したい場合は、数式の結果をコピーし、[値の貼り付け]で元の列へ戻す方法があります。

 

#######表示の原因

セルに#######が並ぶ場合、列幅が足りないか、負の日時を表示しようとしていることが主な原因です。

まず列見出しの境界をダブルクリックし、列幅を自動調整して表示が戻るかを確認します。

列幅を広げても直らない場合は、数式バーで計算結果を確認し、終了時刻が開始時刻より前になっていないかを調べます。

負の時間は、日付またぎを考慮していない引き算によって発生しやすいエラーです。

日付またぎなら=MOD(B2-A2,1)またはIF関数による判定式へ変更します。

日付の入力ミスで終了日が開始日より前になっている場合もあるため、元データの確認が欠かせません。

 

時間計算の丸め処理

勤怠や請求用の表では、実際の時間を15分単位や30分単位で丸めることがあります。

15分単位で切り上げる場合は、=CEILING(C2,TIME(0,15,0))を使えます。

15分単位で切り捨てる場合は、=FLOOR(C2,TIME(0,15,0))を使います。

15分単位の切り上げは=CEILING(C2,TIME(0,15,0))です。

15分単位の切り捨ては=FLOOR(C2,TIME(0,15,0))です。

丸め計算は元の実績時間とは別の列で行い、元データを残す運用が安心です。

計算後のセルにもh:mmまたは[h]:mmを設定し、数値のまま表示されないようにします。

【操作のポイント】時刻が計算できないときは、左寄せ表示、緑色の三角、SUM関数の結果を確認し、TIMEVALUE関数で変換します。

 

まとめ エクセルの時間表示と時刻計算を直す方法

症状 主な対処
時刻が小数で表示される h:mmの表示形式へ変更
合計が24時間で戻る [h]:mmの表示形式へ変更
夜勤で#######が表示される MOD関数またはIF関数を使用

エクセルの時刻表示がおかしいと感じたときは、最初にセルの値と表示形式を分けて考えることが大切です。

小数が見える場合は、時刻値が正しく保存されていて、表示形式だけが標準になっていることがあります。

時刻の見た目を直す基本書式はh:mm、24時間を超える合計時間の基本書式は[h]:mmです。

開始時刻と終了時刻の通常計算は=B2-A2で行えます。

日付をまたぐ夜勤では=MOD(B2-A2,1)やIF関数を使い、負の時間を避けましょう。

文字列になった時刻はTIMEVALUE関数で時刻値へ変換でき、計算可能な状態へ戻せます。

時間計算は数式だけでなく、表示形式、入力方法、日付の有無まで整えることで、集計表や勤怠表で安定して使えるようになります。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう