
勤怠の表で面倒なのは、出勤と退勤の時刻から「残業が何時間、そのうち深夜が何時間」を出すところです。夜勤があると退勤が翌日の時刻になり、単純な引き算では負の数になる。このファイルは、出勤・退勤・休憩を入れると、実働、所定の8時間を超えた残業、22時から翌5時の深夜時間、土日祝の休日労働を1行ごとに計算します。退勤が出勤より早い時刻なら翌日の退勤として扱うので、22時から7時の夜勤も、0時ちょうどの退勤も、そのまま入れられます。
1人1か月で1ファイルです。「設定」シートに氏名と年月、必要なら時給を入れ、「勤怠」シートに日ごとの時刻を入れていきます。10月の1日から14日にサンプルの勤務を入れてあるので、開けば計算の様子が分かります。
入れるのは区分と、出勤・退勤・休憩の3つ
区分は出勤、休日、有給、欠勤、特休の5つからリストで選ぶ。出勤の日だけ、出勤時刻、退勤時刻、休憩を分で入れます。時刻は「9:00」のように打てば時刻として入る。
暦の列には、土日と祝日に「休」が自動で出ます。祝日は内閣府の一覧を「祝日」シートに持たせていて、2025年から2027年の分が入っている。暦が休の日に勤務を入れると、その日の実働は残業ではなく休日労働として集計されます。法定休日の労働には残業の割増ではなく休日の割増が付く、という扱いに合わせたもの。会社の所定休日と法定休日を分けて管理している場合は、暦の列を手で直してください。
深夜時間の計算だけ、少し説明が要る
深夜は22時から翌5時。1日の勤務が深夜帯と重なる時間を出すには、勤務の区間と深夜の区間の重なりを求めればよいのですが、夜勤は0時をまたぐので区間が2つに分かれる。このファイルでは「当日22時から翌5時」と「前日22時から当日5時」の2本の区間との重なりをそれぞれ求めて足しています。
サンプルの6日は22時出勤、翌7時退勤で、22時から翌5時の7時間が深夜。7日は4時出勤で、4時から5時の1時間が深夜。5日は15時出勤の0時退勤で、22時から0時の2時間です。この3つが正しく出ることを確認してあります。
休憩がちょうど深夜帯に入っていても、深夜時間からは差し引いていません。休憩の時刻を入力していないので、どの時間帯の休憩か判別できないためです。結果として深夜時間は少し多めに出ます。厳密にしたい場合は備考に休憩の時刻を書いて、手で直してください。
残業は「1日8時間を超えた分」だけ
残業は、休日以外の日で、実働が設定の所定労働時間(既定8時間)を超えた分です。週40時間を超えた分の残業、月60時間超の割増率の引き上げ、変形労働時間制、フレックスタイムには対応していません。多くの中小企業の日次の管理はこれで足りますが、給与を確定する計算は就業規則と、必要なら社会保険労務士の確認を前提にしてください。
時給を入れると概算の支給額が出る
設定の時給を入れると、一番下に「時給×(実働+残業×25%+深夜×25%+休日労働×35%)」で計算した概算支給額が出ます。割増率は労働基準法の最低ラインを既定にしていて、設定シートで変えられます。控除や通勤手当は含みません。あくまで「今月このくらい」を掴むための数字です。
サンプルの14日分だと、実働70.75時間、残業2.75時間、深夜10時間、休日労働13時間で、時給1,300円なら102,034円になります。
複数人で使うとき
1人1ファイルにしています。人数分コピーして、ファイル名を「勤怠_山田_2026-10.xlsx」のようにしておくのが一番迷いません。全員分を1つのブックにまとめる形は、シートが増えると重くなり、式のコピーで壊れやすいので避けました。人数が多く、集計も自動にしたい場合は、シフト表のテンプレートと組み合わせるか、勤怠システムを検討する段階です。
動作を確かめた範囲
Microsoft 365のExcel(バージョン16)で開き直して再計算し、サンプル9勤務分の実働・残業・深夜・休日労働が手計算と一致すること、合計と概算支給額が合うこと、月を11月に変えると31日の行が消えて土日祝の判定が切り替わること、エラー値のセルがないことを確認しました。
GoogleスプレッドシートとLibreOfficeでは確認していません。使っている関数はEOMONTH、TEXT、WEEKDAY、COUNTIF、MIN、MAX、ROUNDだけなので、どちらでも動く見込みです。


