エクセルで、勤怠の時間を計算するときは、勤務時間のほかに、残業時間(8時間を超えた分)、深夜時間(22時以降)、15分単位の丸めが、よく必要になります。残業なら =MAX(0,E3-TIME(8,0,0))、15分単位の切り捨てなら =FLOOR(E3,TIME(0,15,0)) です。
この記事では、勤務時間のおさらい、残業時間の求め方、深夜時間の求め方、15分単位の切り捨て・切り上げ・四捨五入、残業手当の計算を、1つの表を使って説明します。勤務時間の基本(日またぎ・24時間超えの合計)は、時間の足し算・引き算で説明しています。下の練習ツールで、時刻を書き換えて、結果の変わり方を試せます。
残業・深夜・15分単位|やりたいこと別の式
| やりたいこと | 式(例) | ポイント |
|---|---|---|
| 勤務時間(休憩を引く) | =MOD(C3-B3,1)-D3 | 日またぎでも、正しく計算できます。 |
| 8時間を超えた残業 | =MAX(0,E3-TIME(8,0,0)) | 8時間以下なら、0になります。 |
| 22時以降の深夜時間 | =MAX(0,C6-TIME(22,0,0)) | 退勤が22時より後の分だけを、求めます。 |
| 15分単位に切り捨てる | =FLOOR(E3,TIME(0,15,0)) | 15分未満の端数を、切り捨てます。 |
| 15分単位に切り上げる | =CEILING(E4,TIME(0,15,0)) | 15分未満の端数を、切り上げます。 |
| 15分単位に四捨五入する | =MROUND(E4,TIME(0,15,0)) | 近い15分の倍数に、丸めます。 |
| 残業手当を求める | =ROUND(SUM(F3:F7)*24*時給*1.25,0) | 時間に24を掛けて、時間数にします。 |
TIME(8,0,0) のように、TIME関数で作ると、間違えません。「8」と書くと、8日になってしまいます。まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
残業時間を求める(8時間を超えた分)
勤務時間(E列)から、8時間を引いて、残業時間を、F列に求めます。8時間より短い日は、マイナスになるので、MAX関数で、0以上にします。

月曜は、勤務が10:30で、8時間を引いて、残業は 2:30 です。水曜は、勤務が7:00で、8時間未満なので、MAX関数で、0:00 になります。マイナスの時間は、「####」と表示されるので、MAX関数で、避けます。
▶ この式(F3)を、上の練習ツールで試す / この式(F4)を、上の練習ツールで試す
深夜時間(22時以降)を求める
22時以降の、深夜の時間は、退勤時刻から、22時を引きます。22時より前に終わる日は、0にします。
木曜は、23:40に退勤なので、23:40 − 22:00 で、結果は 1:40 です。日をまたいで、翌日の朝まで働く場合は、「22時〜翌5時」のように、2つの時間帯に分けて、計算します。
15分単位に丸める(切り捨て・切り上げ・四捨五入)
勤怠では、「15分未満は切り捨て」のように、15分単位に丸めることがあります。FLOOR関数で、切り捨てられます。
火曜の勤務は、8:17なので、15分未満の2分を切り捨てて、結果は 8:15 です。切り上げなら、CEILING関数を使います。
8:17を、15分単位に切り上げて、結果は 8:30 です。近い方に丸める四捨五入は、MROUND関数です。
8:17は、8:15の方が近いので、結果は 8:15 です。数値の丸め方(ROUND・FLOOR・CEILING)の考え方は、四捨五入の方法を参照してください。
▶ この式(G4)を、上の練習ツールで試す / この式(J6)を、上の練習ツールで試す / この式(J7)を、上の練習ツールで試す
残業の合計と、残業手当を求める
週の残業時間の合計は、SUM関数で求めます。15分単位に切り捨てるなら、合計に、FLOOR関数を使います。
残業は、2:30、0:17、0:00、5:30、0:35の合計が、8:52で、15分未満を切り捨てて、結果は 8:45 です。残業手当は、時間を、時間数(×24)にして、時給と割増率を掛けます。時給が1,500円で、25%増なら、次の式です。
残業の合計(8:52)は、8.8667時間なので、結果は 16625 円です。ROUND関数で、円未満の端数を整えます。24時間を超える合計の表示は、時間の足し算・引き算の「[h]:mm」を参照してください。
▶ この式(J3)を、上の練習ツールで試す / この式(J5)を、上の練習ツールで試す
残業・深夜の計算がおかしいときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「####」と表示される | 結果が、マイナスの時間になっている | MAX関数で、0以上にする。 |
| 残業が、数値(0.1…)で出る | セルの表示形式が「標準」 | 表示形式を「h:mm」にする。 |
| 8時間を、「8」と書いたら合わない | 「8」は、8日の意味 | TIME(8,0,0) で、時間を作る。 |
| 15分単位の結果が、1分ずれる | 時刻の計算の、小さな誤差 | 分単位に、ROUND関数で整える。 |
| 手当の金額が、合わない | 時間に、24を掛けていない | 時間数にするために、×24を付ける。 |
| 日またぎで、勤務が合わない | 「終了−開始」が、マイナスになっている | MOD(C3-B3,1) を使う。 |
| 値を変えても、結果が変わらない | 計算方法が「手動」になっている | 「数式」タブの「計算方法の設定」を「自動」にする。 |
残業・深夜の計算のよくある質問
残業時間を、求める式は?
=MAX(0,勤務時間-TIME(8,0,0)) です。8時間を超えた分だけが、残業時間になります。
15分単位に、切り捨てるには?
FLOOR関数を使います。=FLOOR(勤務時間,TIME(0,15,0)) で、15分未満の端数を、切り捨てられます。
勤務時間を、時給計算に使うには?
時間に24を掛けて、時間数にします。=勤務時間*24*時給 です。端数は、ROUND関数で、整えます。
あわせて読みたい:時間計算の関連記事
- エクセルで時間の足し算・引き算|勤務時間・日またぎ・24時間超え
- エクセルで四捨五入する方法|ROUND・10の位・切り捨て・5単位
- TIME関数の使い方|時・分・秒から時刻を作る
- NETWORKDAYS関数の使い方|土日・祝日を除いた営業日数
- Excelで百円単位・千円単位に丸める方法|ROUNDUPとROUNDDOWN
練習用ファイル:練習用Excelファイル(.xlsx・無料)
