この記事でわかること

  • 「月末になると、勤務表の集計に2〜3時間かかる」「日跨ぎシフト(22:00〜翌7:00)の労働時間が手計算と合わない」「深夜割増や60時間超の残業を毎月手で計算するのが大変」——勤務表をエクセルで運用していると、こうした詰まりポイントに何度も出くわします。
  • 実は勤務表エクセルの自動計算は、関数を5つ覚えるだけでかなりのところまで作り込めます。本記事では、必須関数5選から日跨ぎシフトの計算式、深夜割増・休日手当の自動算出、縦型/横型の完成版テンプレートまでを実務目線で解説します。記事末尾では「日跨ぎ・深夜割増対応 勤務表エクセル自動計算テンプレート」を無料配布しています。
本記事について | 2026年4月時点の公開情報をもとに作成しています。Microsoft Excelの関数仕様や労働基準法の解説を含みますが、一般的な解説を目的とした記事です。個別具体の運用判断や賃金計算の最終確認は、社会保険労務士等の専門家へご相談ください。

勤務表エクセルで自動計算すべき項目

勤務表をエクセルで管理する際、すべてを手入力すると月末の集計が膨大な作業になります。最低限、自動化すべき項目を整理します。

実労働時間(退勤−出勤−休憩)

最も基本的な計算で、出勤時刻・退勤時刻・休憩時間から実労働時間を算出します。日跨ぎがない場合は単純な引き算で済みますが、夜勤シフトでは日跨ぎ対応が必要になります(後述)。

総勤務時間の月次集計

各スタッフの実労働時間を月単位で合計します。SUM関数で範囲を指定するだけですが、時刻の表示形式(h]:mm)に注意が必要です。

深夜勤務時間(22:00〜翌5:00)

深夜時間帯に該当する労働時間を自動算出します。労働基準法第37条第4項に基づき、深夜労働には25%以上の割増賃金が必要です。シフトの開始・終了時刻と深夜時間帯(22:00〜翌5:00)の重なりを計算するため、IF・MAX・MIN関数の組み合わせが必要になります。

休日勤務時間(法定休日/法定外休日)

労働基準法第35条が定める法定休日と、就業規則で定める所定休日(法定外休日)を区別して集計します。法定休日労働には35%以上の割増賃金が必要です(労基法第37条第1項+平成6年政令第5号)。

法定休日と所定休日の違いについては「法定休日と所定休日の違い|シフト表での書き方と割増賃金」で詳しく解説しています。

出勤日数・有休日数・欠勤日数

シフト表の記号(出勤・有休・欠勤など)からCOUNTIF関数で日数をカウントします。月次の勤怠管理で必須の項目です。

基本の自動計算|必須関数5選

勤務表エクセルで使う関数は数多くありますが、まずは以下の5つを押さえれば実用的なテンプレートが作れます。

SUM|合計(労働時間の月集計)

最も基本的な関数で、指定範囲の数値を合計します。

=SUM(C2:C32)

労働時間の合計を表示するセルでは、表示形式を「h]:mm」(角カッコ付き)に設定してください。通常の「h:mm」だと24時間を超えると0時に戻って表示されます。

COUNTIF|勤務日数カウント

特定の文字列や条件に一致するセルの数を数えます。出勤・有休・欠勤などの判別に使います。

=COUNTIF(B2:B32,"○") 出勤日数

=COUNTIF(B2:B32,"有") 有休日数

=COUNTIF(B2:B32,"欠") 欠勤日数

=COUNTIF(B2:B32,"法") 法定休日労働日数

シフト表の記号は事業所ごとに異なるため、自社で使っている記号に合わせて条件を変更してください。

TEXT|曜日表示

日付セルから曜日を自動表示します。

=TEXT(A2,"aaa") → 月、火、水…

=TEXT(A2,"aaaa") → 月曜日、火曜日…

=TEXT(A2,"ddd") → Mon、Tue、Wed…

土日や祝日の色分けと組み合わせると、視認性の高いシフト表になります。

IF|条件分岐

条件によって表示や計算を変えます。深夜帯判定や法定休日判定など、勤務表では多用される関数です。

=IF(TEXT(A2,"aaa")="日","法","公") → 日曜なら「法」、それ以外は「公」

=IF(D2>=8,"残業","") → 労働時間が8時間以上なら「残業」表示

複雑な条件分岐は IF を入れ子にするか、IFS関数(Excel 2019以降)を使うと記述が簡潔になります。

MOD|日跨ぎシフト対応の決定打

夜勤シフト(22:00〜翌7:00など)では、退勤時刻が出勤時刻より小さくなるため単純な引き算では負の値になります。MOD関数を使うと、日跨ぎを自動で考慮できます。

=MOD(B2-A2,1)

この式は、引き算結果が負の場合に1(24時間)を足してくれる仕組みです。たとえば「出勤22:00、退勤翌7:00」の場合、`7:00 - 22:00 = -15:00` ですが、MOD関数で `9:00` と正しく算出されます。

ただし、24時間を超える勤務(連続勤務など)にはMOD関数では対応できません。そのような場合は日付列も含めた計算式に変更する必要があります。

勤務時間の自動計算

実際の勤務時間計算を、3つのパターンに分けて解説します。

出勤・退勤・休憩からの基本計算式

日跨ぎがない通常勤務の場合、計算式はシンプルです。

実労働時間 = 退勤時刻 - 出勤時刻 - 休憩時間

=B2-A2-C2

ここで休憩時間も時刻形式で入力する必要があります。「1時間休憩」を入力する場合は `1:00` と入力します。

日跨ぎ(22:00〜翌7:00など)の計算式

日跨ぎシフトでは、前述のMOD関数を使います。

=MOD(B2-A2,1)-C2

この式で、22:00から翌7:00までの9時間から休憩時間を引いた実労働時間が算出できます。

別のアプローチとして、IF関数で条件分岐する方法もあります。

=IF(B2<A2,B2+1-A2,B2-A2)-C2

退勤時刻が出勤時刻より小さい場合(日跨ぎ)は、退勤時刻に1(24時間)を足してから引き算します。可読性は劣りますが、日跨ぎの判定ロジックを明示できる利点があります。

30分単位・15分単位の丸め(FLOOR・CEILING)

15分単位や30分単位で勤怠を丸める場合、FLOOR関数(切り捨て)やCEILING関数(切り上げ)を使います。

=FLOOR(B2,"0:15") → 退勤時刻を15分単位で切り捨て

=CEILING(A2,"0:30") → 出勤時刻を30分単位で切り上げ

ただし、丸めの方向は労働基準法上の注意点があります。労働時間を実態より短く記録することは、通達上認められません。1日単位や1か月単位で常に切り捨てる運用は法令違反のリスクがあります。1分単位で正確に記録した上で、賃金計算上の端数処理として認められる範囲(1か月の合計の30分未満切り捨て・30分以上切り上げ等)に限定するのが安全です。

深夜割増・休日手当の自動計算

労働時間の計算ができたら、次は割増賃金の自動算出です。

深夜割増(22:00〜翌5:00 ×1.25)の計算式

深夜時間帯(22:00〜翌5:00)に該当する労働時間を算出する計算式は、シフトの開始・終了時刻と深夜帯の重なりを判定する必要があります。

シンプルなケース(出勤時刻が深夜帯の前、退勤時刻が深夜帯内)では、

深夜時間 = 退勤時刻 - 22:00

複雑な日跨ぎや早朝シフトに対応するには、IF・MAX・MIN関数を組み合わせます。配布テンプレートには、出勤・退勤時刻を入力するだけで深夜時間が自動算出される計算式を組み込んでいます。

深夜労働の割増率は25%以上(労働基準法第37条第4項)です。時間外労働(25%)と深夜労働(25%)が重なる場合は合算50%、休日労働(35%)と深夜労働が重なる場合は合算60%となります。

法定休日・法定外休日の区別

法定休日と所定休日(法定外休日)では、割増率が異なります。

休日種別割増率根拠
法定休日労働35%以上労基法第37条第1項+平成6年政令第5号
所定休日労働(時間外なら)25%以上当該週の労働時間が週40時間を超える部分のみ

「休日出勤=必ず35%増」と一律に処理すると、過払いまたは未払いが発生しかねません。法定休日と所定休日を就業規則で明確に区別し、エクセル上でも別々のセルに集計する運用が安全です。

60時間超 月残業の割増率(中小企業も2023年4月から50%)

月60時間を超える時間外労働には、50%以上の割増賃金が必要です(労働基準法第37条第1項ただし書)。大企業は2010年4月から、中小企業は猶予措置の終了に伴い2023年4月から月60時間超の割増率が25%→50%に引き上げられました(基礎賃金の1.5倍以上)。

深夜帯(22:00〜翌5:00)と重なる場合は、深夜割増25%が加算され、合算75%以上となります。

出典: 厚生労働省「月60時間を超える時間外労働の割増賃金率引上げ」 https://www.mhlw.go.jp/content/000930914.pdf

エクセルで自動算出する場合、月の時間外労働を累計し、60時間を超えた時間に1.5倍を掛ける計算式を組み込みます。配布テンプレートでは、月次集計シートに自動計算式を組み込んでいます。

割増賃金のより詳しい計算ルール(深夜・休日・時間外の組み合わせ)については、別記事「割増賃金の計算とシフト|深夜・休日・時間外Excel付き」で深掘りしています。

シフト表(勤務予定)と勤怠(実績)の違い

エクセルで勤務管理をする際、シフト表と勤怠表を混同しているケースが見られます。両者は役割が異なるため、整理しておきます。

シフト表=予定表

シフト表は、月初や週初に「いつ・誰が・どの時間帯に働くか」を計画するための予定表です。スタッフへの公開、希望休の反映、人員配置基準のチェックといった機能が中心になります。

勤怠表=実績記録

勤怠表は、実際に働いた時間を記録するための実績表です。タイムカードや打刻システムから出退勤時刻を取り込み、賃金計算の根拠とします。労働基準法上、客観的な記録(タイムカード、ICカード、PC使用時間等)による把握が原則とされています。

エクセルで両方を1シートにする工夫

小規模な事業所では、シフト表と勤怠表を1つのシートで運用しているケースもあります。その場合は、「予定」と「実績」を別セルで入力し、差分(予定変更・実労働時間との差異)を可視化する運用がおすすめです。

ただし、シート1枚で予定と実績を兼ねると、データが膨大になり関数も複雑化します。スタッフ数が10名を超えるあたりから、シフト表と勤怠表を別シートに分ける、または別ファイルにする運用が現実的です。

休み希望を反映したシフト自動作成(中級)

スタッフから集めた希望休をシフト表に反映する作業も、関数で半自動化できます。

VLOOKUP / XLOOKUPで希望反映

希望休の管理シートを別に作り、VLOOKUP関数(またはXLOOKUP関数)で日付・スタッフ名をキーにして「希望」を引っ張ってくる方式です。

=VLOOKUP(A2,希望休管理!A:C,3,FALSE)

XLOOKUP(Excel 2021以降、Microsoft 365)はVLOOKUPの上位互換で、より柔軟に列の参照ができます。

データの入力規則でドロップダウン化

シフト記号(○、有、欠、法、公など)の入力ミスを防ぐため、データの入力規則でドロップダウンリストを設定します。

「データ」タブ →「データの入力規則」→「リスト」を選び、入力候補を `,` 区切りで指定するか、別シートのリスト範囲を参照します。

条件付き書式で可視化

条件付き書式を使うと、シフトの種別を色分けで一目で把握できます。

  • 「○」(出勤)→ 白背景
  • 「有」(有休)→ 黄色背景
  • 「欠」(欠勤)→ 赤背景
  • 「法」(法定休日)→ 灰色背景
  • 「公」(所定休日)→ 薄灰色背景

「ホーム」タブ →「条件付き書式」→「セルの強調表示ルール」→「文字列」で設定できます。

勤務表エクセル|縦型 vs 横型テンプレート

勤務表のレイアウトには、大きく2つのパターンがあります。

縦型(日付×スタッフ)

縦軸に日付、横軸にスタッフを並べる形式です。

  • メリット:スタッフ数が少ない場合に見やすい、縦スクロールで月単位の俯瞰が容易
  • デメリット:スタッフ数が10名以上になると横に広がり、印刷で見切れやすい

横型(スタッフ×日付)

縦軸にスタッフ、横軸に日付を並べる形式です。

  • メリット:1か月分が横に広がるため、月のリズム(曜日パターン)を把握しやすい、印刷時にA3横で1か月分が収まる
  • デメリット:スタッフ数が多いと縦に長くなる、日付列の幅調整が必要

どちらを選ぶ?(人数・印刷・閲覧用途別)

利用シーン推奨レイアウト
スタッフ5名以下縦型
スタッフ6〜20名横型(A3横印刷)
スタッフ20名以上横型+スタッフ別シート分割、またはSaaS検討
月別比較が多い縦型(複数月を並べやすい)
日別人員確認が多い横型(曜日パターンが視覚化される)

配布テンプレートには、縦型・横型の両方を含めています。自社の運用に合うものを選び、必要に応じてカスタマイズしてご利用ください。

よくあるエラー・落とし穴

勤務表エクセルでよく遭遇するエラーと、その対処法をまとめます。

時刻が文字列になっている(VALUE関数で復旧)

別システムからコピペした時刻データが、見た目は時刻でもエクセル内部では文字列として認識されているケースがあります。SUMやMODが正しく計算されない原因です。

VALUE関数で時刻型に変換できます。

=VALUE(A2)

または、対象セルを選択して「データ」→「区切り位置」→「完了」で一括変換することもできます。

日付の書式ズレ(シリアル値の理解)

エクセルは日付・時刻を内部的に「シリアル値」として保持します。日付は1900年1月1日からの日数、時刻は1日を1とした少数です(例:12:00 = 0.5)。

「日付がおかしい」と感じたら、まず該当セルの表示形式を確認し、シリアル値(数値)として正しく入力されているかを検証してください。

循環参照(数式の参照ループ)

数式が自分自身を参照している、または間接的に循環している場合、循環参照のエラーが表示されます。「数式」タブ →「エラーチェック」→「循環参照」で参照経路を特定できます。

マクロなしでできる範囲/できない範囲

マクロ(VBA)を使わなくても、関数だけで多くの自動計算が実現できます。一方、以下のような処理にはマクロが必要です。

  • 複数シートをまたいだ自動更新
  • ボタンクリックで集計を実行
  • 外部システム(給与計算ソフト等)との自動連携

マクロは便利ですが、属人化(作成者しかメンテナンスできない)やセキュリティ警告の原因にもなります。マクロなしで実現できる範囲を見極めるのが、長期的に運用しやすいテンプレートのコツです。

エクセル運用の限界はどこか

ここまで関数とテンプレートでできることを整理してきましたが、エクセル運用には構造的な限界もあります。SaaS導入を急ぐ必要はありませんが、判断材料として整理します。

10名を超えると属人化(作成者しか触れない)

複雑な関数を組み込んだエクセルは、作成者本人しかメンテナンスできなくなりがちです。担当者の異動・退職時に引き継ぎコストが大きく、シフト作成業務が属人化するリスクが高まります。

法改正対応の手間(深夜割増率・60時間超など)

労働基準法の改正があると、計算式の修正が必要になります。たとえば2023年4月の中小企業60時間超50%適用では、月次集計シートの計算式を全社で更新する必要がありました。同様の改正があるたびに、社内のすべてのテンプレートを更新する手間が発生します。

モバイル対応・希望提出フォームの不在

エクセルは基本的にPC前提で、スマホからの希望休提出やシフト確認には不向きです。LINE等の別ツールで希望を集めて手動でエクセルに転記するケースが多く、転記ミスや遅延の原因になっています。

なお、勤務間インターバル制度(労働時間等設定改善法第2条)については、現時点では努力義務段階です。義務化に向けた議論は継続していますが、2026年通常国会への改正法案提出は見送られており、施行時期は未定です。最新動向は「勤務間インターバル制度とは?義務化の最新動向と企業がやるべき対応」で解説しています。

SaaSに切り替えるタイミング(チェックリスト)

以下の項目に複数該当するなら、SaaS導入の検討タイミングと言えるでしょう。

  • スタッフ数が10名を超えた
  • シフト作成に月10時間以上かかっている
  • 法改正対応で計算式の更新が頻発している
  • スマホからの希望提出を実現したい
  • 複数拠点でシフトを統合管理したい
  • 法令制約(人員配置基準・夜勤明けルール)の自動チェックが欲しい

SaaS移行を検討するなら

エクセルからSaaSへの移行は、業務フロー全体の見直しを伴います。コストだけでなく、現場の運用変化にも目を向けて検討しましょう。

エクセル運用 vs SaaS 比較表

項目エクセルシフト管理SaaS
初期コスト0円〜数千円(テンプレ購入)月額数千〜数万円〜
法改正対応自社で計算式を更新ベンダーが自動対応
モバイル対応原則PCのみスマホアプリ/Web両対応
希望提出フォーム別途LINE等で集約アプリ内で完結
多拠点・大人数属人化のリスク高統合管理が容易
法令制約の自動チェック関数で限定的に実現制約条件として一括管理
拡張性カスタマイズに限界API連携・追加機能

シフッタの例|AIシフトを自動作成

シフッタ(Shiftta)は、AIエージェントと数理最適化エンジンを組み合わせ、勤務間インターバル・人員配置基準・夜勤明けルール・有資格者の配置といった複雑な制約を同時に考慮して、最適なシフトを自動生成するSaaSです。エクセルでの手作業によるチェック漏れを防ぎ、現場管理者の工数を大きく削減できます。

まとめ|完成版エクセルテンプレDL

勤務表エクセルの自動計算は、必須関数5選(SUM・COUNTIF・TEXT・IF・MOD)を押さえれば、日跨ぎシフトや深夜割増まで対応できます。本記事のポイントを再確認します。

  • 自動化すべきは「実労働時間/月次集計/深夜時間/休日区別/日数カウント」
  • 日跨ぎシフトはMOD関数(`=MOD(B2-A2,1)`)で対応
  • 深夜割増(25%)・法定休日労働(35%)・月60時間超(50%、中小も2023年4月適用)を自動算出
  • シフト表(予定)と勤怠表(実績)は役割を分けて運用
  • 縦型/横型はスタッフ数と印刷用途で選択
  • 10名超・法改正対応・モバイル対応のニーズが出てきたら、SaaS移行を検討

関連記事