労働時間の集計と変形労働時間制の完全ガイド

LINE公式アカウント × エルメ 設計ガイド
労務管理 ― 基礎知識

労働時間の集計と変形労働時間制の完全ガイド

勤怠をLINEで自動化する前に押さえる、残業・深夜・割増と変形制のルール

「自動化」の前に、集計ルールを固める

架空の旅館「花あかり」では、繁忙期と閑散期で1日の勤務時間がバラバラです。勤怠をLINEで自動化したいと考えていますが、そもそも「どの時間を、どの単位で、どう数えるか」が決まっていないと、GAS(Google Apps Script)もスプレッドシートも一行も組めません。この記事は、その土台になる労働時間・残業・深夜・割増、そして変形労働時間制の集計ルールを一本にまとめた基礎知識です。

BEFORE ― ルールが曖昧なまま

「残業=定時を過ぎた分」と思い込んで集計 → 法内残業と時間外を混同し、割増の払い過ぎ・払い漏れが両方発生。変形制なのに毎日8時間で判定してしまい、月末に計算が合わない。

AFTER ― ルールを決めてから組む

実労働・法内残業・時間外(①日次②週次③月次/期間末)・深夜を明確に分けて定義。スプレッドシートの列と割増率が一意に決まり、GASはその定義どおりに数えるだけ。月末の検算がすぐ合う。

この記事の位置づけ

基礎知識(この記事)→ 各設計図(実装ブループリント)へ
基礎知識(この記事) 集計ルール・変形制・割増 設計図:1ヶ月単位変形制 打刻・GAS・シフト自動集計 設計図:1年単位変形制 年間シフト・期間末精算

1労働時間の集計の基本

勤怠管理の出発点は、「実労働時間」を正確に把握することです。労働基準法第32条が定める上限は1日8時間・1週40時間で、会社が独自に設ける「所定労働時間」はこの範囲内で決めます。実労働時間は「始業〜終業の時間」から「休憩時間」を差し引いて計算し、休憩は労働時間に含めません。

集計の3つの単位

単位内容
日次始業〜終業から休憩を除いた実労働時間
週次起算日から7日間の合計(月〜日など会社で設定)
月次賃金計算期間(例:1日〜末日)の合計
✅ ポイント

「実労働時間」「法内残業」「時間外労働」「深夜時間」を最初にきっぱり分けて定義しておくと、この後のすべての計算とスプレッドシートの列設計が一意に決まります。

つまずきポイント
  • 休憩時間を実労働に含めて数えてしまう(休憩は必ず控除)。
  • 週の起算日を決めずに集計し、週次判定がブレる(起算曜日を先に固定する)。
◆ ◆ ◆

2残業の集計 ― 法内残業と時間外労働

残業には「法内残業」と「法外残業(時間外労働)」の2種類があり、この区別が割増賃金の発生有無に直結します。定時を過ぎた分がすべて割増対象になるわけではありません。

種類内容割増賃金
法内残業所定を超えたが、法定の8h/日・40h/週以内の時間(例:所定7時間→実績8時間の1時間分)原則不要
時間外労働
(法外残業)
1日8時間 または 1週40時間を超えた時間25%以上の割増が必要
⚠️ 36協定がないと残業させられない

時間外労働をさせるには36協定(時間外・休日労働に関する協定)の締結と労働基準監督署への届出が必要です。未届出のまま残業させると労働基準法違反になります。

通常の労働時間制での集計フロー

STEP 1日次の実労働時間を算出(始業〜終業 − 休憩)
▼
STEP 21日8時間を超える部分 → 時間外労働
▼
STEP 3週合計が40時間を超える部分(日次で未カウント分)→ 時間外労働
▼
STEP 4月内の時間外合計が60時間を超える部分 → 割増率が50%以上にアップ
つまずきポイント
  • 法内残業に割増を付けてしまう(原則不要。ただし就業規則で別途定めがあれば支払う)。
  • 日次で数えた時間外を、週次でも重ねて数えてしまう(重複カウントを避ける/章5で詳説)。
◆ ◆ ◆

3深夜労働の集計

深夜労働とは午後10時(22:00)〜翌午前5時(5:00)の間に行われた労働のことです。昼間の通常勤務でも、この時間帯にかかった分は深夜割増の対象になります。

項目内容
対象時間帯22:00 〜 翌 5:00
集計方法実際に深夜帯で働いた時間を分単位で集計
所定シフトが深夜帯の場合通常業務でも深夜割増が必要
時間外と重なる場合両方の割増率が加算される(50%以上)
✅ 具体例

21:00〜24:00 の勤務なら、22:00〜24:00 の2時間分が深夜労働として集計されます。深夜は「時間外かどうか」とは独立して発生する点に注意してください。

つまずきポイント
  • 深夜と時間外を「どちらか一方」と考えて割増の加算を忘れる(重なった時間は両方足す)。
  • 日をまたぐ勤務(例:21:00〜翌2:00)で、翌日側の深夜時間を数え漏らす。
◆ ◆ ◆

4割増賃金の計算

割増率の一覧

時間外労働
(月60h以内)
25%以上
時間外労働
(月60h超)
50%以上
法定休日労働
35%以上
深夜労働
25%以上
時間外 + 深夜
50%以上
休日 + 深夜
60%以上
⚠️ 月60時間超の50%は中小企業も対象

月60時間を超える時間外の割増率50%は、2023年4月から中小企業にも適用されています(大企業は2010年から)。見落とさないよう月次で時間外を集計することが重要です。

1時間あたり基礎単価の計算(月給制)

1時間単価 = 月額賃金 ÷ 月平均所定労働時間 月平均所定労働時間 = (365日 − 年間休日数) × 1日所定時間 ÷ 12

計算例:月給25万円・年間休日120日・所定8時間

月平均所定労働時間 = (365 − 120) × 8 ÷ 12 ≒ 163.3時間 1時間単価 = 250,000 ÷ 163.3 ≒ 1,531円 時間外1時間 → 1,531 × 1.25 = 1,914円 深夜1時間 → 1,531 × 1.25 = 1,914円 時間外 + 深夜1時間 → 1,531 × 1.50 = 2,297円
つまずきポイント
  • 基礎単価に含めない手当(家族手当・通勤手当・住宅手当など)を含めて計算してしまう。
  • 年間休日数を実態と違う値で置くと、単価が全社員でずれる(就業規則の休日数に合わせる)。
◆ ◆ ◆

51ヶ月単位の変形労働時間制

1ヶ月単位の変形労働時間制とは、1ヶ月以内の期間を平均して1週あたり40時間以内に収まるよう労働時間を配分できる制度です。「ある日は10時間、ある日は6時間」といった繁閑に応じた設定が可能になります。導入には就業規則または労使協定への定めと、対象期間開始前のシフトの事前確定・周知が必要です。

法定労働時間の総枠(月末の精算基準)

変形制では、月の暦日数に応じた法定労働時間の総枠が基準になります。総枠は次の式で求め、この記事では30分単位で切り捨てた値を標準とします。

総枠 = 暦日数 × 40時間 ÷ 7 (30分単位で切り捨て)
28日の月
160.0時間
29日の月
165.5時間
30日の月
171.0時間
31日の月
177.0時間
📌 端数処理の方針

暦日数×40÷7 の理論値は 29日=165.71h、30日=171.42h、31日=177.14h です。実務の簡素化のため、本ガイドではこれを30分単位で切り捨てて 165.5h/171.0h/177.0h に統一します。設計図側のスプレッドシートもこの値を採用します。

⚠️ 特例44時間について

常時10人未満の小売業・旅館・料理店・飲食店は、週の法定労働時間が44時間となる特例が適用される場合があります。その場合は式の40を44に置き換えて総枠を計算します。

残業の3段階判定(日・週・月)

変形制では、時間外労働の判定が日・週・月の3段階で行われます。各段階で計上済みの時間を必ず除く(重複カウントしない)のが最大のポイントです。

①

日次判定

所定が8h超の日 → 所定を超えた時間が時間外/所定が8h以下の日 → 8時間を超えた時間が時間外。

②

週次判定(①を除く)

所定が40h超の週 → 所定を超えた時間が時間外/所定が40h以下の週 → 40時間を超えた時間が時間外。

③

月次精算(①②を除く)

月の実労働合計 − 法定総枠 − ①②計上分 がプラスなら時間外。

計算例:31日の月(総枠177.0時間)

実労働合計:185時間 ①日次で計上した時間外:3時間 ②週次で計上した時間外:2時間 ③月次精算 = 185 − 177 − 3 − 2 = 3時間 → 時間外 合計時間外 = 3 + 2 + 3 = 8時間
❗ よくあるミス

①で計上した時間外を②や③でも二重カウントしてしまうケースが最も多いです。各段階で「すでに計上した時間」を必ず差し引いてから判定してください。

つまずきポイント
  • 月をまたぐ週(月末〜翌月初)の総枠を按分し忘れる(40 × 当月に含まれる日数 ÷ 7 で按分)。
  • シフトを事後変更してしまう(変形制はシフトの事前確定が有効要件。当日変更は原則不可)。
◆ ◆ ◆

61年単位の変形労働時間制

1ヶ月を超え1年以内の期間を平均して、1週あたり40時間以内に収まるよう労働時間を配分する制度です。季節・繁閑の差が大きい小売業・観光業・旅館・農業などに向いています。判定ロジックは1ヶ月単位と同じですが、③の精算が月末ではなく「対象期間末」になる点が大きく異なります。

📌 導入要件(1ヶ月単位との最大の違い)

労使協定の締結と労働基準監督署への届出が必ず必要です。就業規則だけでは制度が成立しません。届出を忘れると、すべて通常の労働時間制として扱われます。

1ヶ月単位との主な違い

項目1年単位1ヶ月単位
根拠労使協定+届出が必須就業規則 or 労使協定
1日の上限10時間制限なし
1週の上限52時間制限なし
連続労働日数6日(特定期間は12日)制限なし
精算のタイミング対象期間末(月次でない)月末
⚠️ ハード上限 ― 1日10時間・1週52時間

1年単位で設定できるシフトの絶対的な上限は1日10時間・1週52時間です。これを超えるシフトを組むと、そのシフト自体が無効となり通常の8時間制として扱われます。シフト作成時に必ず上限チェックを行いましょう。

ℹ️ 週48時間には別枠の追加制限がある

週の上限52時間とは別に、対象期間が3ヶ月を超える場合は週48時間を超える設定に追加制限がかかります。具体的には、①48時間超の週が連続するのは3週以下、②対象期間を初日から3ヶ月ごとに区切った各期間で、48時間超の週の初日が3回以下。あわせて、連続労働日数は原則6日(特定期間は最長12日)、年間の労働日数は280日以内(対象期間3ヶ月超の場合)という制限も守ります。「52時間=ハード上限」「48時間=ここから追加制限が発生する境目」と分けて覚えると混乱しません。

法定労働時間の総枠(対象期間全体)

1年単位では対象期間全体の総枠を計算します。年間分は1時間単位で切り捨てた値を標準とします。

総枠 = 対象期間の暦日数 × 40時間 ÷ 7 (1時間単位で切り捨て) 365日(平年) → 2,085時間 (理論値 2,085.7h を切り捨て) 366日(うるう年)→ 2,091時間 (理論値 2,091.4h を切り捨て)

残業の3段階判定(③が期間末精算になる)

①

日次判定

所定8h超の日は所定超えから、8h以下の日は8h超えから時間外(1日10hの上限に注意)。

②

週次判定(①を除く)

所定40h超の週は所定超えから、40h以下の週は40h超えから時間外(1週52hの上限に注意)。

③

期間末精算(①②を除く)※1ヶ月単位と異なる点

対象期間末に、期間の実労働合計 − 法定総枠 − ①②計上分 がプラスなら時間外。

❗ 重要 ― 月次で精算しない

1年単位は月次で精算しないため、途中月の時間外が少なく見えても期間末に大きな精算が発生することがあります。月次でも暫定集計しておくことを強く推奨します。

期間末の精算例

【例】365日の対象期間(年間法定総枠 2,085時間) 年間実労働合計:2,150時間 ①②で計上済みの時間外:40時間 ③期間末精算 = 2,150 − 2,085 − 40 = 25時間 → 時間外 合計時間外 = ① + ② + ③

途中退職の処理(見落としやすい)

対象期間が終わる前に退職した場合、実際に在籍した日数で総枠を再計算して精算します。この再計算も1時間単位で切り捨てます。

修正総枠 = 実際の在籍日数 × 40時間 ÷ 7(1時間単位で切り捨て) 追加の時間外 = 在籍中の実労働合計 − 修正総枠 − ①②計上分 【例】1年(365日)の協定で183日(約6ヶ月)在籍して退職 修正総枠 = 183 × 40 ÷ 7 = 1,045.7h → 切り捨て 1,045時間 在籍中の実労働合計:1,060時間/①②計上済み:5時間 追加時間外 = 1,060 − 1,045 − 5 = 10時間 → 退職時に追加支払い ※ 逆にマイナスでも返金は不要(過払いは求めない)
⚠️ 退職手続きのチェックに入れる

退職時の期間末精算は実務で最も見落とされます。退職手続きのチェックリストに「変形制の期間末精算」を必ず加えてください。中途採用者は、採用日から期間末までを別途取り扱うのが一般的です。

つまずきポイント
  • 1日10h・1週52hの上限チェックを省き、無効なシフトを組んでしまう。
  • 期間末(多くは年度末)にしか精算しないと考え、退職者の即時精算を忘れる。
◆ ◆ ◆

7集計項目をスプレッドシートの列に落とす

ここまでの集計ルールが決まると、スプレッドシートの列は自動的に決まります。設計図(実装ブループリント)では、この列定義をそのままGASが読み書きします。列名・列順を先に1つ確定させ、本文・図表・GASコードの3か所を一致させるのが鉄則です。

シート構成の基本形

シート名主な用途
従業員マスタ社員ID・LINE UID・給与・変形制区分の管理
打刻ログ出退勤時刻・実労働時間・日次時間外①・深夜時間の記録
勤怠集計(月次/期間)時間外①②③・深夜・60h超分の集計
給与計算_月次基本給・割増賃金・給与合計の計算

打刻ログに持たせる列(例)

社員ID 日付 出勤時刻 休憩開始 休憩終了 退勤時刻 実労働時間 日次時間外① 深夜時間 遅刻 早退

勤怠集計に持たせる列(例)

社員ID 年月 実労働合計 法定総枠 時間外①日次 時間外②週次 時間外③月次/期間 合計時間外 深夜合計 60h超分
📌 総枠の値はここで固定する

「法定総枠」列には、本ガイド標準の値(月次=177.0/171.0/165.5/160.0h、年間=2,085/2,091h)を入れます。基礎知識・図表・GASの3か所で同じ値を使えば、後の矛盾チェックで数値のズレが出ません。

つまずきポイント
  • 「時間外①②③」を1列にまとめてしまい、後から3段階の内訳を検算できなくなる(必ず分ける)。
  • 列名を後から変えて、本文・図表・GASコードのどれか1か所だけ直し忘れる。
◆ ◆ ◆

8集計を始める前のチェックリスト

自動化に着手する前に、次の項目が確定しているかを確認してください。ここが曖昧なまま設計図(GAS・スプレッドシート)に進むと、必ず後戻りが発生します。

  • 実労働時間・法内残業・時間外・深夜の定義を文章で決めた
  • 週の起算曜日と、賃金計算期間(締め日)を決めた
  • 採用している労働時間制(通常制/1ヶ月単位/1年単位)を確定した
  • 変形制なら、就業規則・労使協定・(1年単位は)労基署への届出を済ませた
  • 法定総枠の値を本ガイド標準(切り捨て後の値)で固定した
  • 割増率(25%/35%/50%/60%)と、月60時間超50%の運用を確認した
  • 36協定を締結・届出済みで、残業をさせられる状態にある
  • スプレッドシートの列名・列順を1つに確定した
◆ ◆ ◆

9よくある質問(FAQ)

この集計は、LINEやエルメだけで完結しますか?
いいえ。LINE公式アカウントとエルメ(L Message)は「打刻の入口」と「自動返信・タグ付け」を担いますが、時間外の3段階判定や総枠との精算といった計算は、GASとスプレッドシート側で行います。この基礎知識はその計算部分の前提です。
総枠を切り捨てにすると、社員に不利になりませんか?
総枠を小さく(切り捨てで)取るほど、③の精算で時間外に計上される時間はむしろ増える方向に働きます。事務の簡素化を優先しつつ、精算が社員に不利にならない安全側の丸め方です。実際の運用では就業規則・賃金規程の定めを優先してください。
1年単位で「週52時間」と「週48時間」はどちらが正しいのですか?
両方とも意味があります。52時間はシフトとして設定できる絶対的な上限(ハード上限)、48時間は「これを超える週」に連続週数などの追加制限がかかる境目です。設計図でも、この2つは別のチェックとして実装します。
変形制のシフトを月の途中で変更できますか?
原則できません。事前確定が変形制の有効要件のためです。やむを得ず変更する場合も、変更後の時間が「所定外」として扱われることがあり、変更は前日までに本人へ通知するなどの運用が必要です。詳細は各設計図で扱います。
この記事どおりに計算すれば、労務リスクはゼロになりますか?
なりません。本記事は一般的な考え方を整理したサンプルであり、業種特例(44時間)・特定期間・休日の定め方などは個別に異なります。実運用は必ず自社の就業規則・労使協定と、必要に応じて専門家の確認のうえで行ってください。

まとめ ― 次にやること1つ

勤怠を自動化する前に必要なのは、「実労働・法内残業・時間外(①日次②週次③月次/期間末)・深夜」をきっぱり分けて定義し、法定総枠の値を1つに固定することです。総枠は本ガイド標準(月次=177.0/171.0/165.5/160.0h、年間=2,085/2,091h・切り捨て)で統一しました。まず最初の一歩として、自社が採用している労働時間制を1つ確定させてください。それが決まれば、対応する設計図に進んで実装に落とせます。

※ 本記事は架空の旅館を想定したサンプルの構築例です。掲載コードはサンプルであり、ご利用は自己責任でお願いします。制度の適用・計算方法は業種や就業規則により異なるため、実運用の際は必ず最新の法令と自社規程、必要に応じて専門家の確認のうえで行ってください。