毎月の勤務表を手作業で集計していて時間がかかる、残業時間の計算ミスが起きてしまう——そんなお悩みをお持ちの担当者は多いでしょう。Excelで勤務表を作れば、出退勤時間を入力するだけで労働時間・残業時間が自動計算される仕組みを構築できます。この記事では、時間計算の基本から関数の使い方、書式設定まで丁寧に解説します。
Excelでは時間は「シリアル値」で管理され、1日=1、1時間=1/24として扱われます。「9:00」と入力すると自動的に時刻として認識されます。合計時間のセルには書式「[h]:mm」を使いましょう。通常の「h:mm」形式では24時間を超えると正しく表示されないため注意が必要です。退勤時刻から出勤時刻を引くと労働時間が求められ、休憩時間は「退勤-出勤-休憩」として差し引きます。
月次勤務表はA列:日付、B列:曜日、C列:出勤時刻、D列:退勤時刻、E列:休憩時間、F列:実労働時間、G列:所定労働時間(8時間)、H列:残業時間、I列:深夜残業時間、J列:備考(有給・欠勤・遅刻等)の列構成が基本です。上部に年・月の入力欄を設け、A列の日付はDATE関数で自動生成します。DATE($B$1,$D$1,1)で当月1日を求め、以降は前の日付に1を加算して31日分並べます。当月以外はIF関数とMONTH関数の組み合わせで非表示にします。
曜日列にはTEXT関数で「=IF(A5=””,””,TEXT(A5,”aaa”))」と入力し「月」「火」のように表示します。条件付き書式でWEEKDAY関数を使い、日曜日の場合は赤、土曜日の場合は青の背景色を設定します。AND関数を組み合わせて日付が空白の行には色がつかないよう制御するとより正確に動作します。
実労働時間はIF関数とOR関数を組み合わせ、出退勤が未入力の行は空白になるよう制御します。OR(C5=””,D5=””)がTRUEの場合は空白、FALSEの場合は退勤ー出勤ー休憩で計算します。残業時間はMAX関数を使って「実労働時間ー所定労働時間」がマイナスにならないよう制御します。深夜残業(22時以降)はTIMEVALUE関数とMIN・MAX関数を組み合わせて22時以降の時間を抽出します。法令対応が必要な場合は給与計算ソフトとの連携も検討しましょう。
月末の合計行にSUM関数で実労働時間の月合計を集計します。セル書式は「[h]:mm」で設定してください。出勤日数はCOUNTIF関数で出勤時刻が入力された行数を数えます。有給消化日数はJ列に「有給」と入力しておきCOUNTIF関数でカウントします。複数人の場合は社員ごとにシートを分け、集計シートで各シートをSUM関数で集約します。
「ページレイアウト」でA4サイズを選び、印刷範囲を設定して「1ページに印刷」を選べば月のすべての行がA4 1枚に収まります。完成した勤務表シートをコピーして年月を変更するだけで翌月分が完成します。.xltx(テンプレート)形式で保存しておくと毎月の作業がさらに効率化されます。
DATE・WEEKDAY・TEXT・MAX・IF関数を組み合わせることで、出退勤入力だけで労働時間・残業時間が自動計算される実用的な勤務表が完成します。条件付き書式で土日を色分けし月合計を自動集計する仕組みを整えることで、毎月の勤務管理業務を大幅に効率化できます。自社の就業規則に合わせてカスタマイズしながら、ぜひ活用してみてください。