勤務時間や作業時間を集計するとき、8時間を1日として表示したい場面は多いものです。
ただし、Excelでは時間が「1日を1とする小数」で保存されるため、単純に8で割るだけでは意図どおりの表示にならないことがあります。
7時間45分を何日として換算するか、8時間を超えた残業時間を含めるか、結果を日数として見せるか時間のまま残すかによって、適した数式も変わります。
この記事では、セルに入力した勤務時間を1日8時間で換算し、日数・小数・時間と分を使い分けて管理する方法を解説します。
Excelの時刻は1日を1として保存される仕組みを理解すると、8時間を1日へ正確に変換できます。
8時間を1日とする日数換算は、勤務時間を「8:00」で割る数式が基本です。
7時間45分は0.96875日となり、8時間15分は1.03125日となります。
入力例では1行目を見出し行とし、2行目から勤務時間を入力する前提で説明します。
エクセルで8時間を1日に変換する基本数式
| 日付 | 勤務時間 | 8時間換算の日数 |
|---|---|---|
| 4月1日 | 8:00 | 1 |
| 4月2日 | 7:45 | 0.96875 |
| 4月3日 | 8:30 | 1.0625 |
それではまず、8時間を1日として換算する最も基本的な数式について解説していきます。
勤務時間がB列にあり、換算した日数をC列に表示する場合は、C2セルで勤務時間を8時間で割ります。
基本数式
=B2/TIME(8,0,0)
TIME(8,0,0)は8時間ちょうどを表すExcelの時刻値です。
この数式では、B2が8:00なら1、4:00なら0.5、12:00なら1.5というように、所定労働時間に対する割合が数値で返ります。
結果を数値として扱えるため、複数日の合計、平均勤務日数、休暇の時間単位換算などにも利用しやすい方法です。
TIME関数を使った8時間の指定

続いては、TIME関数で8時間を指定する理由を確認していきます。
Excelでは、時刻を画面上で8:00と表示していても、内部では24時間を1とする値として保存しています。
そのため8時間は、数値では0.333333…に相当します。
TIME関数は、時・分・秒を引数として時刻データを作る関数です。
TIME(8,0,0)と入力すれば、8時間0分0秒を基準値として数式内で安全に指定できます。
「8:00」を数式に直接書く方法もありますが、文字列として認識される可能性を避けるため、勤務時間の割り算ではTIME関数を使う書き方が分かりやすく実務向きです。
会社によって所定労働時間が異なる場合も、TIME(7,45,0)やTIME(7,30,0)へ変更するだけで対応できます。
7時間45分を1日とする場合の例
=B2/TIME(7,45,0)
基準時間をセルに入力しておけば、数式を修正せずに換算ルールだけを変更できます。
時間制度が変わる可能性がある表では、基準時刻を別セルに置く設計が便利でしょう。
セル参照で基準勤務時間を管理する方法
続いては、基準勤務時間をセル参照にする方法を確認していきます。
たとえばE1セルに「所定時間」、E2セルに8:00と入力し、C2セルで日数を計算するケースを考えます。
基準時間を固定セルで参照する数式
=B2/$E$2
ドル記号を付けた$E$2は絶対参照です。
数式をC3、C4へコピーしても、分母がE2セルからずれません。
勤務時間ごとに別の基準を持たせる必要がない限り、基準セルは絶対参照にすることが重要です。
部署別に7時間45分、8時間、8時間30分など複数の勤務体系がある場合は、E列などに基準時間を入れ、=B2/E2のように相対参照にして行ごとに換算することも可能です。
ただし、入力ミスがあると結果も変わるため、基準時間欄にはデータの入力規則を設定しておくと安心です。
計算結果の列には表示形式「標準」または「数値」を設定すると、小数の日数を確認しやすくなります。
日数結果の表示形式と合計値
続いては、算出した日数の見せ方と合計方法を確認していきます。
C列に日数が表示されたら、C2からC31までを合計する数式は=SUM(C2:C31)です。
8時間勤務が20日あれば20、7時間45分勤務が混ざっていれば小数を含む合計日数として表示されます。
小数点以下を見やすくするには、ホームタブの小数点以下の表示桁数を増やします。
給与計算や勤怠集計で小数第2位まででよいなら、表示形式を0.00に設定すると、1日、0.97日、1.06日のように確認できます。
表示だけを丸める設定と、数式で値そのものを丸める処理は別物です。
計算に使う精度を残したい場合は、表示形式だけを変更します。
小数第2位で計算結果も確定したい場合には、ROUND関数を使う必要があります。
【操作のポイント】勤務時間のセルには時刻形式を設定し、日数結果のセルには数値形式を設定すると、入力値と計算結果の意味を取り違えにくくなります。
7時間45分を8時間基準で換算する計算
| 勤務時間 | 計算式 | 換算日数 |
|---|---|---|
| 7:45 | 7時間45分 ÷ 8時間 | 0.96875日 |
| 7:30 | 7時間30分 ÷ 8時間 | 0.9375日 |
| 6:00 | 6時間 ÷ 8時間 | 0.75日 |
続いては、7時間45分を8時間で割った場合の考え方と、Excelでの処理を確認していきます。
7時間45分は、時間だけで表すと7.75時間です。
7.75を8で割ると0.96875になるため、8時間を1日とする制度では7時間45分は0.96875日です。
Excelでは時間を小数時間へ直す作業をしなくても、B2/TIME(8,0,0)で同じ結果が得られます。
7時間45分を時刻として入力する方法
それではまず、7時間45分を正しく入力する方法について解説していきます。
勤務時間を入力するB2セルには、7:45と入力します。
Excelが時刻として認識すると、セルには7:45と表示され、数式バーでも時刻として扱われます。
7.45と入力すると、7時間45分ではなく小数の7.45として扱われるため注意が必要です。
時間と分を入力するときは、ピリオドではなく半角コロンを使うことが基本です。
勤務時間が24時間を超える可能性がある集計表では、セルの表示形式を[h]:mmに設定します。
通常のh:mmでは合計が24時間を超えたときに0時へ戻ったように見えることがあります。
日ごとの勤務時間だけならh:mmでも問題ありませんが、月間合計を表示するセルには[h]:mmを使うとよいでしょう。
入力例
B2に7:45を入力し、C2に=B2/TIME(8,0,0)を入力します。
C2の表示形式を0.00000にすると、0.96875と確認できます。
小数日数を丸めるROUND関数の使い分け
続いては、換算日数を丸めるROUND関数の使い分けを確認していきます。
日数を小数第2位までで計算したい場合は、ROUND関数で基本数式を囲みます。
小数第2位までに四捨五入する数式
=ROUND(B2/TIME(8,0,0),2)
7時間45分の場合、0.96875は0.97として返されます。
小数第1位までなら第2引数を1、小数第3位までなら3に変更します。
切り上げが必要な制度ではROUNDUP関数、切り捨てが必要な制度ではROUNDDOWN関数を使います。
丸めの規則は給与・休暇・工数管理の運用によって異なるため、先に社内ルールを確認することが大切です。
たとえば0.96875日を1日として扱うのか、0.97日として積算するのかで月末の合計が変わる場合があります。
見た目だけを0.97と表示し、実際の集計では0.96875を保持する方法もあります。
その場合はROUND関数を使わず、セルの表示形式だけを0.00にしてください。
時間単位へ戻す逆算方法
続いては、日数から勤務時間へ戻す逆算方法を確認していきます。
たとえばC2セルに0.96875日と入力されており、これを8時間基準の勤務時間へ戻すなら、C2に8時間を掛けます。
日数を勤務時間へ戻す数式
=C2*TIME(8,0,0)
結果セルの表示形式をh:mmに設定すると、7:45と表示されます。
小数で入力した日数を時間へ換算するときは、結果セルを数値形式のままにせず、時刻形式へ変更することが必要です。
数値形式では0.322916667のように表示され、計算は正しくても利用者には意味が伝わりにくくなります。
日数を時間へ戻す数式では、結果の表示形式までセットで確認することが実務上の要点です。
時間休や半日休の残高を日数と時間の両方で管理したいときにも、この逆算式が役立ちます。
【操作のポイント】7時間45分を0.97日と表示しても、元の計算値を保持したい場合はROUND関数を使わず、セルの表示形式だけを調整します。
8時間以上の勤務時間を日数で表示する方法
| 勤務時間 | 8時間換算 | 意味 |
|---|---|---|
| 8:00 | 1 | 1日分 |
| 8:15 | 1.03125 | 1日分と15分 |
| 10:00 | 1.25 | 1日分と2時間 |
続いては、8時間以上の勤務時間を日数として表示する方法を確認していきます。
勤務時間が8時間を超えても、基本数式は変わりません。
B2セルに8:15が入っている場合、=B2/TIME(8,0,0)の結果は1.03125です。
これは8時間を1日としたときに、1日と15分分の勤務時間であることを表します。
残業を含めた勤務時間の換算
それではまず、残業を含めた勤務時間を換算する方法について解説していきます。
始業時刻と終業時刻から勤務時間を計算している表では、休憩時間を差し引いた実働時間を日数へ換算します。
たとえばB列が始業時刻、C列が終業時刻、D列が休憩時間、E列が実働時間、F列が8時間換算の日数という構成にします。
実働時間を算出する数式
=C2-B2-D2
実働時間を8時間基準で日数にする数式
=E2/TIME(8,0,0)
9時から18時まで勤務し、休憩が1時間なら実働時間は8時間です。
9時から19時まで勤務し、休憩が1時間なら実働時間は9時間となり、換算日数は1.125日です。
終業時刻から始業時刻を引き、休憩時間をさらに差し引く順序を守ると、実働時間を正しく求められます。
残業時間だけを別列で求める場合は、実働時間から8時間を引く式を利用します。
ただし、8時間未満の日にマイナス表示を避けたいときはMAX関数を組み合わせます。
所定時間を超えた分だけを取り出す数式
続いては、8時間を超えた分だけを取り出す数式を確認していきます。
実働時間がE2セルにある場合、8時間を超えた時間をG2セルへ表示する数式は次のとおりです。
残業時間だけを表示する数式
=MAX(0,E2-TIME(8,0,0))
実働時間が7時間45分なら結果は0:00、8時間30分なら0:30です。
MAX関数は複数の値のうち大きい方を返します。
0と比較することで、8時間未満のときにマイナスの時刻が出ないようにできます。
残業時間を日数へ換算したい場合は、さらに8時間で割ります。
超過分を日数で表示する数式
=MAX(0,E2-TIME(8,0,0))/TIME(8,0,0)
通常勤務の1日分と超過勤務分を分けて管理すると、集計表の意味が明確になります。
勤務日数の列に単純に1.25と表示するか、通常勤務1日と残業0.25日相当を別々に表示するかは、レポートの目的で選びましょう。
24時間を超える合計時間の表示
続いては、24時間を超える合計時間の表示方法を確認していきます。
日ごとの勤務時間をSUM関数で合計すると、月間では160時間や180時間を超えることがあります。
このとき合計セルの表示形式がh:mmのままだと、24時間ごとに時刻が繰り返され、正しい総時間を読めません。
セルの書式設定で表示形式をユーザー定義にし、[h]:mmを指定してください。
これにより168時間30分は168:30のように、そのまま表示されます。
角括弧付きの[h]は、24時間を超える累計時間を表示するための書式です。
日数換算の合計を計算する列では数値形式を使い、時間合計の列では[h]:mmを使うと、二つの尺度を併記できます。
月間160時間は8時間換算で20日です。
この関係を表にしておくと、勤怠データの確認や工数報告がスムーズになるでしょう。
【操作のポイント】8時間超の時間を勤務日数へ含めるか、通常勤務と残業へ分けるかを最初に決め、列ごとに役割を分けて数式を作成します。
勤務時間と日数を自動計算する表の作成
| 日付 | 始業 | 終業 | 休憩 | 実働 | 換算日数 |
|---|---|---|---|---|---|
| 4月1日 | 9:00 | 18:00 | 1:00 | 8:00 | 1 |
| 4月2日 | 9:00 | 17:45 | 1:00 | 7:45 | 0.96875 |
続いては、始業・終業時刻から実働時間と8時間換算日数を自動計算する表を確認していきます。
毎日の勤務時間を手入力するよりも、始業・終業・休憩を入力して実働時間を計算する形にすると、転記ミスを減らせます。
ここでは、E2セルに実働時間、F2セルに8時間換算日数を表示します。
実働時間と換算日数の数式入力
それではまず、実働時間と換算日数の数式を入力する方法について解説していきます。
E2セルには=C2-B2-D2を入力します。
F2セルには=E2/TIME(8,0,0)を入力します。
この二つの数式を入力したら、F2セルの表示形式を数値に設定します。
実働時間を表示するE列はh:mm、月間合計を表示するセルは[h]:mmにするのが基本です。
開始時刻、終了時刻、休憩時間、実働時間、換算日数を別列に分けると、後から確認しやすい表になります。
たとえば休憩時間を取得しなかった日や、短時間勤務の日がある場合も、休憩時間の列だけを修正すれば再計算されます。
夜勤のように日付をまたぐ勤務では、終了時刻に1日を加える式が必要になることがあります。
通常の日勤表とは計算条件が異なるため、夜勤対応の表では別途検証してください。
オートフィルで数式を下へコピーする操作
続いては、数式を下の行へコピーするオートフィル操作を確認していきます。
E2セルとF2セルの数式を作成した後、対象セルの右下に表示される小さな四角へマウスポインターを合わせます。
ポインターが黒い十字に変わったら、そのまま必要な行までドラッグします。
これにより、E3やF3以降にも行番号に合わせた数式が自動で入力されます。
たとえばF2の=E2/TIME(8,0,0)をF3へコピーすると、=E3/TIME(8,0,0)に自動調整されます。
TIME(8,0,0)のような固定値はコピーしても変わらず、E2のような相対参照だけが行に合わせて変化します。
データが連続している場合は、フィルハンドルをダブルクリックするだけでも、隣接列のデータがある最終行まで数式をコピーできます。
数式をコピーした後は、数行の値を確認し、休憩時間や時刻が正しく反映されているかを見ておきましょう。
入力途中の空白行がある表では、ダブルクリックで期待した行までコピーされない場合があります。
その場合は範囲を選択してCtrlキーとDキーで下方向へコピーする方法も便利です。
基準時間を変更できる勤怠表の設計
続いては、基準時間を変更できる勤怠表の設計を確認していきます。
勤務体系が変わる可能性がある場合、所定時間を固定値で数式へ書くより、専用セルへ入力する方が管理しやすくなります。
たとえばH1セルに所定労働時間、H2セルに8:00を入力します。
換算日数のF2セルは、=E2/$H$2とします。
これでH2を7:45へ変更すれば、表全体が7時間45分を1日とする換算へ自動的に切り替わります。
基準時間を変更可能にする数式
=E2/$H$2
H2セルには8:00、7:45、7:30などの時刻を入力します。
基準時間を一か所に集約すると、数式を一つずつ修正する手間と修正漏れを防げます。
基準セルには背景色を付けたり、入力欄であることを明記したりすると、他の担当者にも使いやすい表になります。
数式セルの上書きを防ぐため、完成後は必要に応じてシート保護を設定することも検討しましょう。
【操作のポイント】基準勤務時間をH2などの専用セルに置き、換算式では絶対参照する設計にすると、8時間以外の勤務体系にも対応できます。
時間換算で起こりやすいエラーと対処
| 表示内容 | 主な原因 | 確認する場所 |
|---|---|---|
| 0.333333 | 8:00を日数表示している | セルの表示形式 |
| ##### | 列幅不足または負の時刻 | 列幅と計算式 |
| 0 | 文字列入力や参照先の誤り | 入力値と数式 |
続いては、8時間を1日に変換するときに起こりやすいエラーと対処方法を確認していきます。
計算結果が想定と違う場合、数式そのものではなく、時刻の入力方法やセルの表示形式が原因になっていることがあります。
数式バーを表示して、セルに何が入力されているかを確認すると原因を見つけやすくなります。
時間が数値や文字列として入力されている場合
それではまず、時間が数値や文字列として入力されている場合の対処について解説していきます。
7時間45分を7.45と入力すると、Excelは7時間45分ではなく数値の7.45と判断します。
この値をTIME(8,0,0)で割ると、非常に大きな日数になるため、誤った結果になります。
勤務時間は7:45のように入力してください。
セルの左上に緑の三角が表示され、数値が文字列として保存されていますという警告が出る場合もあります。
その場合は警告アイコンから数値へ変換するか、該当セルを時刻として入力し直します。
計算に使う勤務時間は、見た目が似ていても文字列ではなく時刻値である必要があります。
CSVファイルから貼り付けたデータでは、時刻が文字列になることがあります。
その場合はVALUE関数や区切り位置機能を使って数値化する方法がありますが、まずは元データの入力形式を確認することが重要です。
空白文字が混ざっていると変換が失敗する場合もあるため、TRIM関数で余分な空白を除去する方法もあります。
24時間を超えた合計が戻ってしまう場合
続いては、24時間を超えた合計が戻ってしまう場合を確認していきます。
1日の勤務時間を合計して160時間になっているはずなのに、16:00のような表示になることがあります。
これはExcelが通常の時刻表示では24時間ごとに日付が繰り上がり、時刻部分だけを表示しているためです。
合計セルを選択し、セルの書式設定からユーザー定義を開き、[h]:mmを指定してください。
160時間は160:00、168時間30分は168:30と表示されるようになります。
時間の合計には[h]:mm、日数の合計には数値形式という使い分けを覚えておくと便利です。
また、日付をまたぐ勤務時間を終業時刻から始業時刻で引く場合、負の時刻になって#####と表示されることがあります。
夜勤では終了時刻に1を加える、または日付と時刻を組み合わせる管理方法を採用してください。
通常の日勤データと夜勤データを同じ式で処理する場合は、条件分岐を加えた数式が必要になります。
ゼロ除算と参照エラーの確認
続いては、ゼロ除算と参照エラーの確認をしていきます。
基準時間をE2などのセル参照にしている場合、そのセルが空白または0だと#DIV/0!エラーが表示されます。
基準時間の入力漏れを避けるには、入力欄を目立つ色にし、表を配布する前に8:00が入っていることを確認します。
エラー表示を空白にしたい場合には、IFERROR関数を利用できます。
基準時間が未入力のときに空白を返す数式
=IFERROR(E2/$H$2,””)
ただし、IFERROR関数でエラーを隠すと、入力ミスに気付きにくくなることがあります。
勤怠表を作成中の段階では、エラーを表示したまま原因を確認する方が安全な場合もあります。
エラーを消す前に、基準時間セル、勤務時間セル、参照範囲の三つを確認しましょう。
数式をコピーした際に参照先がずれていないかは、数式バーで確認できます。
【操作のポイント】時間換算が合わないときは、時刻の入力形式、結果セルの表示形式、基準時間セルの参照先を順番に確認します。
まとめ エクセルで8時間を1日に変換する方法
| 目的 | 使う数式または設定 |
|---|---|
| 勤務時間を日数へ換算 | =B2/TIME(8,0,0) |
| 7時間45分を小数第2位で表示 | =ROUND(B2/TIME(8,0,0),2) |
| 8時間超過分だけを表示 | =MAX(0,B2-TIME(8,0,0)) |
| 24時間超の合計を表示 | 表示形式を[h]:mmに設定 |
エクセルで8時間を1日に変換する基本は、勤務時間をTIME(8,0,0)で割ることです。
8:00は1日、7:45は0.96875日、8:30は1.0625日として計算できます。
7時間45分を0.97日のように見せたい場合は、表示形式だけを変更する方法と、ROUND関数で値を丸める方法を区別しましょう。
8時間以上の勤務時間を扱う場合は、勤務日数として一括で管理するか、通常勤務と超過勤務を分けて管理するかを決めることが重要です。
勤務時間は時刻形式、換算日数は数値形式、累計時間は[h]:mm形式という役割分担をすると、表が読みやすくなります。
所定労働時間を別セルへ置き、絶対参照で計算すれば、7時間45分や7時間30分を1日とする運用にも対応できます。
入力値が文字列になっていないか、24時間超の合計表示が正しいか、基準時間セルが空白でないかも定期的に確認してください。
正しい時刻形式と数式を組み合わせることで、勤怠管理、作業工数、休暇残高の換算を効率よく進められます。