集めた休み希望と日ごとの必要人数から、エクセルで勤務表を自動作成したい。そんな担当者向けに、6人の早番・遅番を月間で自動割当する無料テンプレートを用意しました。勤務欄を一つずつ埋めるのではなく、希望休・必要人数・勤務上限を入力して案を作り、埋められない枠は不足として確認する仕組みです。
休み希望を反映する勤務表テンプレートをダウンロードする(Excel)。まずは入力済みの架空例を確認してください。登録は不要です。休み希望を1日変更したときの再計算から、不足の調整、確定版の保存まで順に説明します。
操作案内・制度・製品情報は2026-09-13時点の内容です。
休み希望から勤務案を作る無料Excelの使い方
このテンプレートは、マクロを含まないXLSXファイルです。Excelの表計算関数で割り当てるため、勤務欄への手入力やVBAコードの貼り付けは必要ありません。
ただし、「自動」の中身は分けて理解しておきましょう。
- 自動表示:設定した年月に合わせて、日付や曜日を表示する。
- 自動集計:人別の勤務日数や、早番・遅番の不足を数える。
- 自動割当:入力条件を満たす候補から、その日の担当者を選ぶ。
本ファイルが行うのは、この3つです。休み希望を表示するだけの表とは異なりますが、完成するのはあくまで勤務案。対応範囲外の条件を確認し、確定する作業は担当者に残ります。
5つのシートと入力する場所
ダウンロードしたファイルには、次の5シートがあります。最初に「使い方」を読み、記入例を残すためにファイルを複製してから操作してください。
| シート名 | 役割 | 担当者の操作 |
|---|---|---|
| 使い方 | 入力方法と注意点の確認 | 最初に読む |
| 設定 | 年月、氏名、上限、必要人数の管理 | 入力欄を変更する |
| 希望休 | 6人分の勤務可否の管理 | 「可」「休」を入力する |
| 勤務案 | 自動割当の結果と不足の表示 | 確認し、確定用にコピーする |
| 割当計算 | 候補の判定と割当処理 | 数式を変更しない |
普段の修正は「設定」と「希望休」で行います。「勤務案」の早・遅を書き換えてしまうと、そのセルの数式が失われるため、入力条件を変えて案を作り直すのが基本です。
このテンプレートで扱える条件
対象は6人固定、1か月最大31日、早番・遅番それぞれ1日0〜2人です。全員が早番・遅番のどちらも担当できることを前提に、1人につき1日1区分を割り当てます。
判定する条件は、希望休、日別の必要人数、月の勤務上限、連勤上限、前月末から続く連勤です。一方、7人以上への拡張、夜勤、資格別の配置、日ごとの担当可能区分、時間帯の可否、労働時間の計算には対応していません。
「早番だけ担当できる人がいる」「有資格者を毎日1人置きたい」といった職場では、このファイルだけで配置を確定しないでください。また、早番・遅番の回数を公平にそろえる機能もありません。
年月・スタッフ・必要人数を設定する
まず「設定」シートで、対象月と6人の氏名を確認します。記入例は、2026年9月、スタッフA〜Fを使った架空のケースです。実際の店舗や施設の運用実績ではありません。
| 入力先 | 入れる内容 | 入力範囲 |
|---|---|---|
設定!B3 | 年 | 2020〜2100の整数 |
設定!D3 | 月 | 1〜12の整数 |
設定!F3 | 同点候補の優先順 | 0〜5の整数 |
設定!B7:B12 | 6人の氏名 | 1行に1人 |
優先順は、最初は記入例の値を保ってください。不足が出たときに別案を比べるための項目であり、スタッフの役職や能力を順位付けするものではありません。
続いて、早番の必要人数を設定!B17:AF17、遅番を設定!B18:AF18に入れます。B列が1日、C列が2日、AF列が31日です。各日の人数は0・1・2から選び、勤務が不要な区分は空欄ではなく0にします。
記入例では、9月1〜30日の全日を早番2人・遅番2人とします。年月に連動して日付と曜日が変わり、その月に存在しない日は計算対象になりません。例えば2028年2月なら29日までが対象で、30日・31日の勤務欄は空欄になります。
月の勤務上限と前月末の連勤を入力する
同じ「設定」シートで、各スタッフの上限を設定します。
| 入力先 | 内容 | 入力範囲 | 架空の記入例 |
|---|---|---|---|
C7:C12 | 月の勤務上限 | 0〜31日 | 全員22日 |
D7:D12 | 連勤上限 | 1〜7日 | 全員5日 |
E7:E12 | 前月末の連勤 | 0〜7日 | 全員0日 |
月の勤務上限は「必ずその日数を割り当てる」という目標ではありません。22なら22日以内、0ならその月は割当対象外です。例えばスタッフBの上限を1にすれば、月間の勤務は1日以下に制限されます。
前月末の連勤は省略しないでください。月初が「可」でも、前月末にすでに5連勤していて連勤上限が5日なら、月初は割り当てず「休」とする仕組みです。月が変わったからといって連勤を0から数えるわけではありません。
なお、勤務上限22日・連勤上限5日は架空の例示値で、法定基準ではありません。労働時間・休憩・休日の確認については、厚生労働省の案内も参照してください。
実務では、自社の勤務制度や労働条件に合わせて数値を決め、勤務日数だけでは確認できない事項を別途点検してください。
希望休を入力して勤務案を作る
収集した6人分のシフト希望を、希望休!B7:AF12へ入力します。設定シートと同じく、7行目がスタッフA、12行目がスタッフFです。
| 希望休シートへの入力 | 意味 | 勤務案での扱い |
|---|---|---|
| 可 | 早番・遅番のどちらも勤務できる | 条件を満たせば割当候補になる |
| 休 | 休み希望 | 「希休」と表示し、割り当てない |
| 空欄・別の記号 | 勤務可否が未確認 | 「未確認」と表示し、割り当てない |
「可」は必ず出勤になる記号ではありません。必要人数や上限によって割り当てられなかった日は、勤務案に「休」と表示されます。希望による「希休」と、割当結果としての「休」は別の意味です。
記入例では、次の日を「休」、それ以外の9月の日付を「可」にします。
- スタッフA:1日・13日
- スタッフB:2日・14日
- スタッフC:3日・15日
- スタッフD:4日・16日
- スタッフE:5日・17日
- スタッフF:6日・18日
「勤務案」を開いたら、確認用の結果として、30日×4枠=120勤務、希望休12件の維持、全員22日以内・5連勤以内、不足0になるかを照合してください。全員の上限合計は132日ですが、余力があることだけで日別の配置が成立するとは限りません。
希望休を1日追加すると、どこが変わるか
次に、記入例を複製したファイルで、スタッフAの9月2日を休み希望に変更します。操作するのは勤務案ではなく、希望休!C7です。
| 状態 | 入力するセル | 自動割当で確認する表示 |
|---|---|---|
| 変更前の記入例 | 希望休!C7=可 | 勤務案!C7=早 |
| 希望休を追加 | 希望休!C7=休 | 勤務案!C7=希休 |
変更後は、Aをその日の候補から外して再計算します。確認するのはC7だけではありません。ほかのスタッフの勤務回数や連勤も変わるため、以後の日付の配置や月全体の不足も見直しましょう。
空欄の扱いも確かめるなら、別の複製でC7を空欄にします。この場合は「希休」ではなく「未確認」が確認対象です。以下の変更例も、それぞれ元の記入例に戻してから試すと、何が結果に影響したかを追えます。
自動割当はどの順番で進むのか
処理は月初から1日ずつ進みます。その日の早番を最大2枠、続いて遅番を最大2枠、設定された人数分だけ埋める方式です。
候補になるのは、次の条件をすべて満たす人です。
- その日の希望が「可」である。
- その日にまだ早番・遅番を割り当てられていない。
- それまでの勤務日数が月の上限に達していない。
- 前日までの連勤が連勤上限に達していない。
候補の中では、それまでの勤務回数が少ない人を優先します。同数の場合は日番号と「優先順」の値で順序を変えます。乱数で毎回並べ直す方式ではありません。
このように、目の前の枠から順に候補を選ぶ方法を「貪欲な割当」と呼びます。月全体の組み合わせを探索するわけではないため、成立する組み合わせがあっても不足が出る場合があります。候補がいなければ不足を残し、希望休を勝手に勤務へ変えることはありません。
不足人数が出たら、入力と条件を順に確認する
案が表示されたら、まず勤務案!B25を確認してください。設定不正、希望未確認、不足の有無など、次に確認する内容を判断するための欄です。
そのうえで、次の出力を見ます。
| 確認先 | 表示する内容 |
|---|---|
勤務案!B7:AF12 | 早・遅・休・希休・未確認 |
勤務案!AG7:AG12 | 人別の勤務日数 |
勤務案!AH7:AH12 | 前月からの継続を反映した最長連勤 |
勤務案!B17:AF17 | 日別の早番不足 |
勤務案!B20:AF20 | 日別の遅番不足 |
勤務案!B23 | 月全体の不足枠の合計 |
B23の不足は、欠員がある「日数」ではなく「枠数」です。同じ日に早番2人・遅番2人が足りなければ、その日だけで4枠となります。
確認は、入力漏れ・誤入力、日別の勤務可能者、勤務上限・連勤、優先順の順に進めます。原因を確かめず上限を緩めると、元の勤務条件と違う案になってしまいます。
COUNTIFで人数と勤務日数を検算する
COUNTIFは、指定した条件に一致するセルの数を数える関数です。勤務記号を数える用途に使えますが、誰を勤務に入れるかを決める関数ではありません。(Microsoft サポート)
配布ファイルの数式を上書きせず、別シートで検算するなら、例えば次の式を使います。
9月1日の早番人数を数える式
=COUNTIF(勤務案!B7:B12,"早")
スタッフAの月間勤務日数を数える式
=COUNTIF(勤務案!B7:AF7,"早")+COUNTIF(勤務案!B7:AF7,"遅")
前者は1日の縦方向、後者は1人の横方向を数えます。「希休」「休」「未確認」は勤務日数に含めません。
この集計と、自動割当は別の処理です。既存の勤務表にCOUNTIFを追加するだけでは、空いている勤務欄まで自動で埋まるわけではありません。
全員が希望休の日は、早番・遅番それぞれ不足が残る
元の記入例を使い、9月1日の希望休!B7:B12を全員「休」に変更してみます。必要人数を早番2人・遅番2人のままにすると、この日の確認対象は次のとおりです。
| 9月1日の区分 | 必要人数 | 割当人数 | 不足の表示先と値 |
|---|---|---|---|
| 早番 | 2人 | 0人 | 勤務案!B17=2 |
| 遅番 | 2人 | 0人 | 勤務案!B20=2 |
この日は合計4枠不足します。優先順を変更しても、全員が候補から外れている点は変わりません。
実務で同じ状態になったら、まず転記ミスや未確認の回答がないかを確認します。それでも足りなければ、責任者と応援・業務量・営業体制などを調整してください。不足0に見せるために必要人数を無断で減らしたり、本人に確認せず「休」を「可」に変えたりするのは避けましょう。
優先順を変えて別の案を比較する
入力内容に誤りがなく、勤務可能な人もいるのに不足する場合は、設定!F3を変更します。例えば0の案を保存してから1に変え、B23の不足合計と日別の不足を比較する進め方です。
必要に応じて2〜5も試します。ただし、F3は「不足を解消する強さ」ではなく、同点候補の順番を変える値です。数値を大きくすればよい案になる、という関係はありません。
比較するときは、不足の減少だけでなく、誰の勤務日数や連勤が変わったかも確認してください。別案を採用するなら、変更日以降だけでなく月全体を見直します。
0〜5を試しても解消する保証はなく、解消しなかったことが「成立する勤務表は存在しない」という証明にもなりません。手作業での組み直しや、このテンプレートでは扱えない条件を含む別の割当方法が必要な場合があります。
勤務表を確定し、翌月用のファイルを作る
不足が0でも、すぐに配布するのは待ちましょう。資格、担当可能な業務、時間帯、勤務時間など、テンプレートが判定していない条件を確認します。B25も、法令への適合や社内承認の完了を示すものではありません。
確認を終えたら、「勤務案」の数式を残したまま、別シートへ値として保存します。Excelの「値」の貼り付けでは、数式そのものではなく計算結果を貼り付けられます。(Microsoft サポート)
手順は次のとおりです。
- 新しいシートを追加し、「確定_2026年9月」などの名前を付ける。
勤務案!A1:AH26をコピーする。- 新しいシートのA1を選び、[形式を選択して貼り付け]の[値]で貼り付ける。
- 必要に応じて同じ範囲の書式も貼り付け、氏名・日付・勤務欄・集計値を照合する。
- 元の作業用ファイルと区別できる名前で保存する。
初期の記入例を確定する場合、保存する内容は次のようになります。
| コピー元の表示 | 操作 | 確定シートに残す内容 |
|---|---|---|
勤務案!C7=早 | 値として貼り付ける | C7に文字の「早」 |
勤務案!B23=0 | 値として貼り付ける | B23に数値の0 |
この後で元の希望休を変更しても、値として保存した確定シートは再計算されません。逆に、確定シートを手修正しても、貼り付け済みの勤務日数や不足は自動更新されない点に注意が必要です。修正した場合は、人数・希望休・連勤を改めて確認してください。
翌月は作業用ファイルを複製し、年月に加えて、希望休・必要人数・前月末の連勤を更新します。年月を変えただけでは、入力済みの希望休は消えません。31日分の入力欄を確認し、前月の記号を残さないようにしましょう。
また、前月末の連勤は「月末から何日続けて勤務したか」です。AH列の「月内の最長連勤」をそのまま転記する値ではありません。
再計算されないとき・設定エラーが出たとき
入力を変えても案が変わらない場合は、Excelの計算設定を確認します。Windows版では[ファイル]→[オプション]→[数式]から、ブックの計算を[自動]に設定できます。デスクトップ版での変更は、開いているほかのブックにも影響します。(Microsoft サポート)
B25に設定不正が示される場合は、年・月・優先順・各上限・必要人数を見直してください。「22日」のように単位付きの文字を入力せず、数値欄には22と入れます。「未確認」は計算設定の問題ではなく、希望休の空欄や別記号を確認する合図です。
数式を上書きした場合は、元の配布ファイルからやり直し、設定と希望休の入力値だけを移す方が確実です。全バージョンのExcelでの動作を保証するものではないため、利用環境で記入例と変更例を確かめてから実務データへ置き換えてください。
Googleスプレッドシートへ取り込む場合は、空のファイルで[ファイル]→[インポート]を開き、XLSXをアップロードします。[新しいスプレッドシートを作成する]→[データをインポート]と進めれば、元のExcelファイルを変更せず、別のGoogle形式ファイルを作れます。(Google ヘルプ)
Google形式へ変換した後の数式・表示は未検証です。利用する場合は、3つの確認例(初期案、希望休の追加、全員が希望休の日)を照合し、結果が一致してから実務に使ってください。
人数や勤務条件が増えた場合のシフト管理
6人・早番と遅番・日数上限という範囲なら、まずは入力を変えて案を比較し、確認した結果を値で保存する流れを固めましょう。7人以上に増えた場合や、担当区分・時間帯などの条件が加わった場合は、行や列を増やすだけでは対応できません。割当計算と集計範囲を含む設計の見直しが必要です。
より多くの条件をまとめてシフト管理したい場合、シフトラでは、自然な日本語のルールやシフト希望、必要人数をもとに案の生成と結果確認を進め、確定したシフトをExcelへ出力できます(2026-09-13時点)。(シフトラ)
例えば「責任者を毎日1人配置する」といった条件を整理して入力し、生成結果を確認・修正してから確定する使い方です。ただし、サービスに切り替えても、個別の勤務条件や労務上の確認が不要になるわけではありません。
勤務時間も確認したい場合は、Excelで勤務時間を自動計算する手順を参照してください。
自動作成で省くのは、勤務欄を一つずつ埋める作業です。休み希望を正しく入力し、不足の理由を確かめ、確認済みの案を確定版として残すところまでを、一続きの作業として進めてください。