Excelで深夜勤務や跨日勤務の実働時間を計算する場合、始業・終業時間から休憩時間を差し引き、さらに休日や祝日を考慮した計算が必要です。この記事では、16:00~翌7:00の勤務を例に、日中・深夜の休憩時間を差し引いた実働時間を求める関数の作り方を解説します。
基本的な実働時間の計算
セルA2に始業時間、B2に終業時間、C2に日中休憩時間、D2に深夜休憩時間を入力します。跨日勤務の場合は、次のような計算式を使用します。
=MOD(B2-A2,1)*24 – C2 – D2
この式では、MOD関数を使って終業時間が翌日であっても正しく差を計算し、休憩時間を引くことで実働時間を求めます。結果は時間単位(小数で表示されます)になります。
セルの書式設定
結果を時間表示にしたい場合は、計算式のセルを選択し、「セルの書式設定」→「ユーザー定義」で[h]:mmと設定します。これにより24時間を超える勤務時間も正しく表示されます。
休日対応のIF関数
休日の場合はIF関数でブランクにすることが可能です。例えば、E列に勤務日が入力されており、土日や祝日が休みの場合は以下のように設定できます。
=IF(OR(WEEKDAY(E2,2)>5,HOLIDAY_RANGE=E2),””,MOD(B2-A2,1)*24 – C2 – D2)
HOLIDAY_RANGEには祝日のリスト範囲を設定し、土日や祝日なら空白を表示し、勤務日の場合のみ計算するようにします。
複数日の合計実働時間
複数日の勤務時間を合計する場合は、SUM関数で対象範囲を合計します。ブランクセルは自動的に無視されますので、休日を考慮した集計が可能です。
=SUM(F2:F31)
ここでF列に個別日の実働時間を計算しておくと、月単位の集計も簡単です。
まとめ
Excelでは、MOD関数を使うことで跨日勤務も正確に計算可能です。日中・深夜の休憩時間を差し引き、IF関数で休日対応を加えることで、柔軟かつ正確な実働時間計算ができます。セルの書式設定やSUM関数を併用すれば、月単位の勤務集計も容易です。


コメント