AIシフトで公休日数をそろえるには、会社が決めた月の日数に加え、希望休と有給をどう数えるかを条件に書きます。「11月の公休は9日。希望休は公休に含める。有給は公休に数えない」と明示し、生成された勤務表から人別に正確に数え直すのが基本です。
公休が8日の人と10日の人が混じる、有給を含めて9日になっている。こうした案は、休みの合計欄だけでは判断できません。飲食店の正社員4人を例に、条件文、修正前後の勤務表、日数の集計式、自店で記入する確認表を使い、公休をそろえて人数と連勤まで確かめる手順を示します。
AIシフトで公休日数をそろえるには、数え方を先に決める
事前に用意するのは、会社の年間カレンダー、各人のシフト希望と有給の日、日ごとの必要人数、週の休日と連勤に関する店のルールです。会社のカレンダーから当月の公休日数を把握し、その日数をAIへの入力条件にします。
そのうえで、「公休として数える記号」を固定してください。同じ休みでも種類があり、公休に含める日と、別枠の休暇として数える日があります。表を作るたびに「休」の意味が変わると、前月と同じ集計式を使っても、何を数えた結果か分からなくなります。
業務の流れは、数え方を決める、条件を渡す、人別に数える、日付を調整する、配置を確かめる、の順です。月の合計が合った時点で止めず、変更した日の人数と、その前後の勤務まで確認してください。
公休・希望休・有給・法定休日の違い
ここでいう「公休」は、会社のカレンダーで日数を決めた休みです。「希望休」は、従業員が休みたい日として提出した希望を指し、この例では公休の中に含めます。法令の説明は2026-10-12時点で確認した公的資料に基づきます。
| 区分 | 数える対象・確認する内容 | この例での扱い |
|---|---|---|
| 公休 | 会社が決めた月の休日数 | 「公」と「希」の合計を9日にする |
| 希望休 | 本人が希望した休みの日 | 「希」と表示し、公休9日の内数にする |
| 有給 | 年次有給休暇を取る日 | 「有」と表示し、公休と別に集計する |
| 法定休日 | 労働基準法に基づく休日の確保 | この店は日曜〜土曜の各週に、公休を1日以上確保する |
年次有給休暇は、本来労働義務がある日にその義務を免除する休暇です。所定休日など、もともと労働義務のない日に年次有給休暇を取ることはできません。(厚生労働省)
したがって、この表で有給を「公」と置き換えて公休の不足を埋めてはいけません。この例では、公休9日と有給1日を合わせ、出勤しない日は合計10日です。有給のある人まで出勤日数を同じにそろえると、会社が決めた公休日数との関係が崩れます。
また、労働基準法第35条は毎週少なくとも1回の休日を原則とし、4週間を通じ4日以上の休日を与える場合の定めも設けています。月に9日休むという合計だけでなく、適用する休日制度に沿った配置の確認が必要です。(厚生労働省)
この例では、会社の公休の中で「毎週1日以上」を確保します。日曜始まりの週と連勤5日までという条件は、ここで扱う店のルールです。公休日数、週の休日、連勤上限をそれぞれ別の条件として扱いましょう。
「公休9日」とだけ渡すと、人によって日数がずれる
以降は、営業時間11:00〜23:00のラーメン店で、正社員A・B・C・Dの4人を配置する架空例です。対象月は2026年11月、会社の年間カレンダーで決めた公休は1人9日。パート・アルバイトのスタッフは今回の集計に含めません。
必要人数は毎日、正社員2人以上です。ただし、ここで数えるのはその日に出勤する人数であり、営業時間を通して同時に2人いるかどうかは、勤務時間帯を入れた後に別途確認します。
動かさない休みの日は、次のとおりです。
| 従業員 | 希望休 | 有給 |
|---|---|---|
| A | 11/7、11/21 | なし |
| B | 11/3 | 11/20 |
| C | なし | なし |
| D | 11/12、11/13、11/25 | なし |
勤務表の記号は、出=出勤、公=公休、希=希望休、有=年次有給休暇とし、公休の日数は「公」+「希」で数えます。「有」は公休日数にも出勤人数にも含めません。
以下の「生成案」は、日数のずれを説明するために用意した表です。特定の製品で生成した実測結果ではありません。日付はいずれも11月で、読みやすいよう10日ずつに分けています。
生成案:11月1〜10日
| 従業員 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 出 | 出 | 出 | 出 | 出 | 公 | 希 | 出 | 出 | 出 |
| B | 出 | 出 | 希 | 出 | 公 | 出 | 出 | 出 | 出 | 出 |
| C | 出 | 公 | 公 | 出 | 出 | 出 | 出 | 公 | 公 | 出 |
| D | 出 | 出 | 出 | 公 | 出 | 公 | 出 | 出 | 出 | 出 |
生成案:11月11〜20日
| 従業員 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 出 | 公 | 出 | 出 | 公 | 出 | 出 | 出 | 出 | 出 |
| B | 公 | 出 | 公 | 出 | 出 | 出 | 公 | 出 | 出 | 有 |
| C | 公 | 出 | 出 | 出 | 公 | 出 | 出 | 公 | 出 | 出 |
| D | 出 | 希 | 希 | 出 | 出 | 出 | 公 | 出 | 出 | 出 |
生成案:11月21〜30日
| 従業員 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 希 | 出 | 出 | 出 | 公 | 出 | 出 | 公 | 出 | 公 |
| B | 出 | 公 | 出 | 出 | 出 | 出 | 公 | 出 | 出 | 公 |
| C | 出 | 公 | 公 | 出 | 出 | 出 | 出 | 出 | 公 | 出 |
| D | 公 | 出 | 出 | 出 | 希 | 出 | 出 | 公 | 公 | 出 |
この案では、AとBの公休が8日、Cが10日、Dが9日です。特にBは、公休8日と有給1日をまとめて「休み9日」と数えると、不足を見落とします。
日数だけを指定しても、希望休や有給の扱いまで意図どおりに解釈されるとは限りません。表に休みが並んでいることと、指定した区分で9日あることを分けて判断する必要があります。
公休日数の条件文の書き方
条件文には、対象期間、対象者、記号の意味、日数、動かさない日、人数の順に書きます。「できるだけ均等に」だけでは、日数の不足を許してよいのかが曖昧です。会社で決まった公休日数は「各人ちょうど9日」と示してください。
次の文面は、上の架空例に対応しています。生成AIへ渡す場合は一まとまりで入力し、専用ツールで設定欄が分かれている場合は、同じ内容を該当する欄へ転記します。
対象は2026年11月1〜30日、正社員A・B・C・Dの4人です。パート・アルバイトは含めません。
1人1日につき、「出=出勤」「公=公休」「希=希望休」「有=年次有給休暇」のいずれか1つを入れてください。
会社の年間カレンダーにより、11月の公休は各人ちょうど9日です。「公」と「希」の合計を9日にし、「有」は公休日数にも出勤日数にも数えないでください。
希望休はAが11/7・11/21、Bが11/3、Dが11/12・11/13・11/25です。Cの希望休はありません。Bの11/20は有給です。この例では、これらの日と区分を固定してください。
週は日曜〜土曜とし、各人に毎週1日以上、「公」または「希」を確保してください。有給は週の休日の数に含めません。「出」が連続するのは5日までです。
日ごとの必要人数は、正社員の「出」が2人以上です。
勤務表とともに、人別の公休・有給・出勤の日数、日別の出勤人数、週別の公休日数、最長連勤を示してください。前月・翌月の勤務が必要な確認は、資料がなければ未確認のまま残します。
条件を同時に満たせない場合は、公休や固定した休みを勝手に減らさず、不足する日・人数・両立しない条件を示してください。
シフト希望を転記した後は、日付だけでなく区分も元の申請や勤怠システムの有給の記録と照合します。Bの11/20が「公」になっていたら、休めているという理由でそのままにせず、「有」に戻して公休を数え直してください。
前月の条件文を再利用する場合は、対象月だけを書き換えて終わらせず、会社のカレンダーの日数、各人の休暇、必要人数も更新します。古い希望休が残っていないかを確認してから生成を依頼しましょう。条件文の書き方全般は、AIでシフトを自動作成するには?条件の伝え方と確認項目で扱っています。
勤務日数で指定するときは、有給の扱いを確かめる
ツールによっては、公休日数を直接指定する代わりに、月の勤務日数を設定します。その欄が「実際に出勤する日」を数えるのか、「有給を含む日数」を数えるのかを先に確かめてください。
この例で、実際に出勤する日数は「30日-公休9日-有給の日数」です。A・C・Dは21日、Bは20日となります。有給を勤務日数に算入する設定を選ぶ場合には、入力する数値の意味が変わるため、画面の説明と設定内容を照合する必要があります。
勤務日数の上限だけを指定しても、ちょうどその日数になるとは限りません。公休9日を守る条件も併記し、生成後に「公+希=9」「公休+有給+出勤=30」の両方を確認してください。
生成案を人別に数えて確かめる
生成後は、AIが出力した「条件を満たしています」という説明だけで判断せず、勤務表の記号から集計します。まず各人の30日分に空欄や未定義の記号がないかをチェックし、次に公休・有給・出勤を別々に数えます。
上の生成案を集計すると、次の結果です。ポイントは、「公」の数と「希」の数を分けておくことです。希望休の算入漏れも見つけられます。
| 従業員 | 「公」の数 | 「希」の数 | 公休合計 | 有給 | 出勤 | 公休9日との差 |
|---|---|---|---|---|---|---|
| A | 6 | 2 | 8 | 0 | 22 | 1日不足 |
| B | 7 | 1 | 8 | 1 | 21 | 1日不足 |
| C | 10 | 0 | 10 | 0 | 20 | 1日超過 |
| D | 6 | 3 | 9 | 0 | 21 | 一致 |
Bの公休は「7+1=8日」であり、有給1日を足した9日は出勤しない日の合計です。集計欄の見出しを単に「休み」にせず、「公休」「有給」と分けると、どちらを直すべきかが明確になります。
Excelへ移す場合は、A列に従業員名、B〜AE列に11月1〜30日の記号を置き、2〜5行をA・B・C・Dにします。本文では分割した表を、Excelでは30日分、横につなげて入力する配置です。
COUNTIF関数は、指定した条件に合うセルを数える関数です。「公」と「希」の個数を足せば、公休日数を集計できます。(マイクロソフト)
| 集計するもの | 2行目に対する式 |
|---|---|
| 公休日数 | =COUNTIF(B2:AE2,"公")+COUNTIF(B2:AE2,"希") |
| 有給日数 | =COUNTIF(B2:AE2,"有") |
| 出勤日数 | =COUNTIF(B2:AE2,"出") |
式は勤務を入力したB〜AE列の外に置き、5行目までコピーします。記号の前後に空白を入れたり、「公休」「公」を混在させたりすると、想定どおりに数えられません。集計前に表記をそろえてください。勤務記号ごとの回数を土日に分けて数える式は、エクセルで土日の出勤回数をカウントする方法で扱っています。
この式が自動で行うのは、入力済みの記号の集計です。公休の割当や勤務の入れ替えは行いません。3区分の合計が30日にならないときは、範囲のずれや未入力を先に直し、その後で公休9日との差を見ます。
多すぎる人と少なすぎる人を入れ替えて直す
直す対象は、公休が1日不足するA・Bと、1日多いCです。A・Bの公休をそれぞれ1日増やし、Cは1日減らしてください。希望休とBの有給を動かさずに調整できる日として、この例では11/9を使います。
| 従業員 | 11/9の生成案 | 11/9の修正後 | 公休日数の変化 |
|---|---|---|---|
| A | 出 | 公 | 8日→9日 |
| B | 出 | 公 | 8日→9日 |
| C | 公 | 出 | 10日→9日 |
| D | 出 | 出 | 9日のまま |
修正前の11/9に出勤するのは、A・B・Dの3人です。AとBを休みにしてCを出勤にすると、C・Dの2人になります。毎日2人以上という条件を保ちながら、3人の日数をそろえられる変更です。
実際の操作では、元の生成案を残し、上の3か所を修正します。AIに修正を依頼する場合も「11/9のA・Bを公、Cを出に変更し、ほかのセルは維持する」と変更範囲を示し、戻ってきた表で別の日まで変わっていないか確認してください。
修正後:11月1〜10日
| 従業員 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 出 | 出 | 出 | 出 | 出 | 公 | 希 | 出 | 公 | 出 |
| B | 出 | 出 | 希 | 出 | 公 | 出 | 出 | 出 | 公 | 出 |
| C | 出 | 公 | 公 | 出 | 出 | 出 | 出 | 公 | 出 | 出 |
| D | 出 | 出 | 出 | 公 | 出 | 公 | 出 | 出 | 出 | 出 |
| 出勤人数 | 4 | 3 | 2 | 3 | 3 | 2 | 3 | 3 | 2 | 4 |
修正後:11月11〜20日
| 従業員 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 出 | 公 | 出 | 出 | 公 | 出 | 出 | 出 | 出 | 出 |
| B | 公 | 出 | 公 | 出 | 出 | 出 | 公 | 出 | 出 | 有 |
| C | 公 | 出 | 出 | 出 | 公 | 出 | 出 | 公 | 出 | 出 |
| D | 出 | 希 | 希 | 出 | 出 | 出 | 公 | 出 | 出 | 出 |
| 出勤人数 | 2 | 2 | 2 | 4 | 2 | 4 | 2 | 3 | 4 | 3 |
修正後:11月21〜30日
| 従業員 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 希 | 出 | 出 | 出 | 公 | 出 | 出 | 公 | 出 | 公 |
| B | 出 | 公 | 出 | 出 | 出 | 出 | 公 | 出 | 出 | 公 |
| C | 出 | 公 | 公 | 出 | 出 | 出 | 出 | 出 | 公 | 出 |
| D | 公 | 出 | 出 | 出 | 希 | 出 | 出 | 公 | 公 | 出 |
| 出勤人数 | 2 | 2 | 3 | 4 | 2 | 4 | 3 | 2 | 2 | 2 |
修正した表を再集計すると、公休は全員9日になります。Bの11/20は有給のままで、希望休の日付も変えていません。
| 従業員 | 公休 | 有給 | 出勤 | 合計 |
|---|---|---|---|---|
| A | 9 | 0 | 21 | 30 |
| B | 9 | 1 | 20 | 30 |
| C | 9 | 0 | 21 | 30 |
| D | 9 | 0 | 21 | 30 |
公休を同じ日数にしても、有給を考慮するとBの出勤日数はほかの3人より少なくなります。この差を残した状態が、今回の条件に合った結果です。
人数・週の休み・連勤も一緒に確かめる
人別の合計を確認したら、表を縦に見て日ごとの出勤人数を数えます。修正後の表の最下段がその人数です。11/9を含め、11月の全日で2人以上を確保しています。
前述のExcel配置なら、1日の人数は勤務欄の外に =COUNTIF(B2:B5,"出") と入れ、30日分、右へコピーして確認できます。A・B・C・Dの4人だけを対象にし、「公」「希」「有」は人数に含めません。
次に、週ごとの「公+希」と、「出」が続く最長の日数を調べます。2026年11月は1日が日曜日です。修正後の集計は、次の表で確認してください。
| 従業員 | 11/1〜7 | 11/8〜14 | 11/15〜21 | 11/22〜28 | 11/29〜30の分 | 11月内の最長連勤 |
|---|---|---|---|---|---|---|
| A | 2 | 2 | 2 | 2 | 1 | 5日 |
| B | 2 | 3 | 1 | 2 | 1 | 4日 |
| C | 2 | 2 | 2 | 2 | 1 | 5日 |
| D | 2 | 2 | 2 | 2 | 1 | 5日 |
各週に少なくとも1日の公休があり、11月内の連勤は5日以内です。Bの有給は週の公休日数に加えていません。月の合計だけでなく、こうして週ごとの内訳を残すと、休日が一部の週に偏っていないかも確認できます。
月をまたぐ週と連勤は、前後の勤務表をつなぐ
11/29〜12/5は、月をまたぐ週です。この例ではA・Bが11/30、C・Dが11/29に公休を取るため、11月分だけでも、その週に1日以上の公休があることを確認できます。
一方、月をまたぐ連勤は11月の表だけでは確定しません。Aは11/1〜5が出勤なので、10月末から出勤が続いていないかを確認します。CとDは11/30が出勤のため、12月初めの勤務へつなげて数える必要があります。
実務では、前月末の連続出勤が始まった日までさかのぼり、翌月も最初の休みまで確認してください。翌月が未作成なら「月末からの連勤は翌月作成時に確認」と記録し、未確認を合格に置き換えない運用にします。前月末からの連勤を条件に書く方法は、AIシフトの連勤を確認するで扱っています。
また、今回の表には始業・終業時刻や法定休憩を入れていません。営業時間11:00〜23:00を、そのまま各人の勤務時間と扱わないでください。時間帯ごとの人数、労働時間、休憩の確認は、実際の勤務パターンを割り当てた後に行います。
必要人数を満たせない日は、不足として残す
公休をそろえた結果、必要人数を満たせない日が出たら、その日の公休を減らして表を完成させないでください。不足日、必要人数、配置人数、動かせない休み、確認すべき条件を記録します。
まず、余裕のある日との入れ替えで解決できるかを調べます。変更候補が見つかったら、対象者の月の公休、週の休日、連勤を再集計。それでも成立しなければ、応援の確保や必要人数の見積もりを現場の責任者と検討し、判断が済むまで不足として残します。
AIが「条件を満たせない」と返したことだけで、組合せが存在しないと断定する必要はありません。入力の重複、古い条件、希望休と有給の取り違えを確認し、どの条件がぶつかっているかを具体化してください。休暇の区分を変えて不足を隠すと、後の確認で同じ修正が必要になります。
自店の公休を条件にして確かめる
自店で始めるときは、まず対象月と対象者を決め、次の空欄を埋めます。数値の根拠となる会社のカレンダーや就業規則を確認し、決まっていない項目は入力前に整理してください。
| 準備する項目 | 自店の記入欄 |
|---|---|
| 対象年月・対象者 | __年__月/____ |
| 会社のカレンダーで決めた公休日数 | 1人__日 |
| 希望休の数え方・固定する日 | ____ |
| 有給の日・公休と分ける記号 | ____ |
| 特別休暇がある場合の区分 | ____ |
| 週の区切り・休日の条件 | __曜〜__曜/____ |
| 連勤の上限 | __日 |
| 日別の必要人数 | ____ |
| 前月末・翌月初めの勤務の確認状況 | ____ |
生成後は、人別の結果と、修正が必要な日を同じ確認表に残します。下の行を対象者分コピーし、「未確認」のまま残っている項目も記入してください。
| 氏名・記号 | 所定の公休 | 案の公休 | 有給 | 出勤 | 公休の過不足 | 修正日・再確認結果 |
|---|---|---|---|---|---|---|
| __ | __日 | __日 | __日 | __日 | __日 | ____ |
日数の欄を埋めた後は、日別の人数不足、週の休日不足、連勤上限の超過がないかを記録します。シフト管理の引き継ぎでは、完成した勤務表に加え、この数え方と未確認事項を残すと、次の担当者も同じ基準で確認できます。
シフトラでは、従業員ごとに月単位の勤務日数(ちょうど・最大・最小)を設定してシフト案を作成できます。有休のパターンを設定した店舗では有休を通常の休みと分けて扱え、有給を勤務日数に含めるかも生成の条件として渡せます(2026-09-05時点の製品情報)。(シフトラ) 勤務日数に何を含める設定かを確認し、本文で集計した出勤日数と対応させてください。
これらの設定を使っても、全員の公休が必ず指定どおりになると決めつけず、生成案を人別に確認します。最終確定と労務上の判断は事業者が行い、公休の集計、日別人数、週の休日、連勤の確認を完了してから運用へ進めてください。
自店に残る作業は、会社のカレンダーの公休日数を確かめ、有給・特別休暇の区分や記載方法を就業規則で確認し、パート・アルバイトの休みの数え方を別に決めることです。年間休日の決め方、有給の付与日数、休日出勤の割増賃金の計算は、この月間表では扱いません。まずは自店の1か月を、公休・有給・出勤の3区分で数え直し、条件文と勤務表が一致するところまで確認しましょう。