エクセルで残業・深夜時間・15分単位の丸めを計算する方法|勤怠の時間計算

エクセルで残業・深夜時間・15分単位の丸めを計算する方法|勤怠の時間計算

エクセルで、勤怠の時間を計算するときは、勤務時間のほかに、残業時間(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を掛けて、時間数にします。
ポイントポイント:エクセルでは、時刻は「1日=1」の数値です。「8時間」は、TIME(8,0,0) のように、TIME関数で作ると、間違えません。「8」と書くと、8日になってしまいます。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

残業時間を求める(8時間を超えた分)

勤務時間(E列)から、8時間を引いて、残業時間を、F列に求めます。8時間より短い日は、マイナスになるので、MAX関数で、0以上にします。

1
結果を出したいセル(F3)を選びます。
2
「=MAX(0,」と入力します。
3
勤務時間のセル(E3)をクリックして、「-TIME(8,0,0))」と入力します。
4
Enter キーを押して、下の行まで、コピーします。
MAX関数の式
数式=MAX(0,E3-TIME(8,0,0))
ひとことで最大値を求める
0
最大値を探す範囲です
E3-TIME(8,0,0)
最大値を探す範囲です
エクセルで残業を計算した表(出勤・退勤・休憩、勤務、残業、15分切り捨て、各式の結果)
エクセルで残業を計算した表(出勤・退勤・休憩、勤務、残業、15分切り捨て、各式の結果)

月曜は、勤務が10:30で、8時間を引いて、残業は 2:30 です。水曜は、勤務が7:00で、8時間未満なので、MAX関数で、0:00 になります。マイナスの時間は、「####」と表示されるので、MAX関数で、避けます。

深夜時間(22時以降)を求める

22時以降の、深夜の時間は、退勤時刻から、22時を引きます。22時より前に終わる日は、0にします。

MAX関数の式
数式=MAX(0,C6-TIME(22,0,0))
ひとことで最大値を求める
0
最大値を探す範囲です
C6-TIME(22,0,0)
最大値を探す範囲です

木曜は、23:40に退勤なので、23:40 − 22:00 で、結果は 1:40 です。日をまたいで、翌日の朝まで働く場合は、「22時〜翌5時」のように、2つの時間帯に分けて、計算します。

15分単位に丸める(切り捨て・切り上げ・四捨五入)

勤怠では、「15分未満は切り捨て」のように、15分単位に丸めることがあります。FLOOR関数で、切り捨てられます。

FLOOR関数の式
数式=FLOOR(E3,TIME(0,15,0))
ひとことでFLOOR
E3
です
TIME(0,15,0)
です

火曜の勤務は、8:17なので、15分未満の2分を切り捨てて、結果は 8:15 です。切り上げなら、CEILING関数を使います。

CEILING関数の式
数式=CEILING(E4,TIME(0,15,0))
ひとことでCEILING
E4
です
TIME(0,15,0)
です

8:17を、15分単位に切り上げて、結果は 8:30 です。近い方に丸める四捨五入は、MROUND関数です。

MROUND関数の式
数式=MROUND(E4,TIME(0,15,0))
ひとことでMROUND
E4
です
TIME(0,15,0)
です

8:17は、8:15の方が近いので、結果は 8:15 です。数値の丸め方(ROUND・FLOOR・CEILING)の考え方は、四捨五入の方法を参照してください。

残業の合計と、残業手当を求める

週の残業時間の合計は、SUM関数で求めます。15分単位に切り捨てるなら、合計に、FLOOR関数を使います。

FLOOR関数の式
数式=FLOOR(SUM(F3:F7),TIME(0,15,0))
ひとことでFLOOR
SUM(F3:F7)
です
TIME(0,15,0)
です

残業は、2:30、0:17、0:00、5:30、0:35の合計が、8:52で、15分未満を切り捨てて、結果は 8:45 です。残業手当は、時間を、時間数(×24)にして、時給と割増率を掛けます。時給が1,500円で、25%増なら、次の式です。

ROUND関数の式
数式=ROUND(SUM(F3:F7)*24*1500*1.25,0)
ひとことで四捨五入する
SUM(F3:F7)*24*1500*1.25
四捨五入する数値です
0
桁数です

残業の合計(8:52)は、8.8667時間なので、結果は 16625 円です。ROUND関数で、円未満の端数を整えます。24時間を超える合計の表示は、時間の足し算・引き算の「[h]:mm」を参照してください。

残業・深夜の計算がおかしいときの確認表

症状考えられる原因対処
「####」と表示される結果が、マイナスの時間になっている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関数で、整えます。

あわせて読みたい:時間計算の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次