勤務表や勤怠管理表では、実働時間に応じて休憩時間を自動で表示したい場面があります。例えば「実働7時間を超えた場合は1時間休憩」「実働6時間を超えた場合は45分休憩」「6時間未満なら休憩なし」といった条件分岐は、ExcelのIF関数を使うことで1つのセルだけで簡単に設定できます。
この記事では、勤務時間を入力するだけで休憩時間を自動判定する数式や、時間計算で間違いやすいポイントについて分かりやすく解説します。
実働時間に応じて休憩時間を変える基本的な考え方
Excelで条件によって表示内容を変える場合は、IF関数を使用します。IF関数は「もし条件を満たしていたらA、満たしていなければB」という処理ができる関数です。
今回の条件では、まず一番長い勤務時間の条件から判定することがポイントです。
- 実働7時間超 → 休憩1時間
- 実働6時間超 → 休憩45分
- 実働6時間以下 → 休憩なし
7時間超の条件を先に書かないと、7時間を超えた勤務も6時間超の条件に該当してしまい、正しい結果が表示されません。
実働時間が入力されているセルから休憩時間を計算する数式
例えば、A1セルに実働時間が入力されている場合、休憩時間を表示するセルには以下の数式を入力します。
=IF(A1>TIME(7,0,0),TIME(1,0,0),IF(A1>TIME(6,0,0),TIME(0,45,0),0))
この数式では、TIME関数を使って「7時間」「6時間」「1時間」「45分」をExcelの時間形式で指定しています。
例えば以下のような結果になります。
| 実働時間 | 表示される休憩時間 |
|---|---|
| 8:00 | 1:00 |
| 6:30 | 0:45 |
| 5:30 | 0:00 |
開始時刻と終了時刻から実働時間を計算する場合
勤怠表では、実働時間そのものではなく、出勤時刻と退勤時刻から勤務時間を計算するケースも多くあります。
例えば、A1セルに出勤時間、B1セルに退勤時間が入力されている場合、実働時間は以下のように求められます。
=B1-A1
この計算結果を利用して休憩時間を求める場合は、直接IF関数を組み合わせます。
=IF(B1-A1>TIME(7,0,0),TIME(1,0,0),IF(B1-A1>TIME(6,0,0),TIME(0,45,0),0))
このようにすると、勤務開始と終了時刻を入力するだけで休憩時間を自動表示できます。
Excelで時間表示を正しくする設定
計算結果が「1」や「0.75」のような数字で表示される場合は、セルの表示形式が原因です。
休憩時間を「1:00」「0:45」のように表示したい場合は、対象セルを選択してセルの書式設定から「時刻」または「ユーザー定義」で以下の形式を設定します。
h:mm
また、24時間を超える勤務時間を扱う場合は「[h]:mm」の形式を使用すると正しく表示できます。
休憩時間を文字で表示したい場合の数式
場合によっては、休憩時間を時刻ではなく「1時間」「45分」「なし」のような文字で表示したいこともあります。
その場合は以下のようなIF関数を使用できます。
=IF(A1>TIME(7,0,0),”1時間”,IF(A1>TIME(6,0,0),”45分”,”なし”))
勤怠確認用の一覧表や管理者向けの資料では、このような文字表示のほうが見やすい場合があります。
まとめ
実働時間によって休憩時間を自動判定する場合は、IF関数とTIME関数を組み合わせることで1つのセルだけで計算できます。
7時間超、6時間超という条件がある場合は、長い時間の条件から順番に判定することが正確な計算のポイントです。
勤務時間の入力方法に合わせて数式を調整すれば、毎日の勤怠管理や勤務表作成の手間を大幅に減らすことができます。


コメント