Blog 業務自動化

GASでシフト表を自動作成する方法|条件に基づく最適配置

公開 2026.04.14 ・ 最終更新 2026.10.03 ・ 読了目安 約14分

たとえば、スタッフ15人の店舗で、店長が毎月20日に翌月の希望を締め切り、25日までにシフト表を出しているとします。シフト表の自動作成を調べると、専用ツールの一覧も、自動化のコード例も、生成AIに作らせる方法も見つかります。それでも「うちの条件なら、どれで、どこまで自動になるのか」は、一覧を読んでも決まりません。

シフト表の自動作成は、希望の募集・回収・ルールの確認・周知までなら、スプレッドシートと自動化で足ります。資格者の配置、連勤の上限、土日の回数の公平さのように、互いに引っ張り合う条件が重なった配置案は、専用ツールの領域です。生成AIが役に立つのは、自由記述の希望を表の列に直す段階です。どれを選ぶにしても、配置で守っている条件を「必ず守る・なるべく守る・その場で決める」の3つに書き出すのが先で、これが無いとどの道具でも配置案は使えません。以下、シフト作りを8段階に分け、道具ごとに渡せる段階と、人に残す判断を整理します。

30-SECOND SUMMARY忙しい方へ|この記事の結論
  1. シフト作りは8段階に分かれ、募集・回収・ルールの確認・周知の4段階はスプレッドシートと自動化で自動にできます
  2. 配置案は条件しだいです。数を数えるだけの条件なら自動化、資格・連勤・公平さが引っ張り合うなら専用ツールが向きます
  3. 生成AIは自由記述の希望を表に直す下書きに使い、法定の労働時間と休日の最終確認、誰に無理を頼むかの判断は店長に残します

シフト表を自動作成する仕組みの全体像:8段階のどこを機械に渡すか

シフト表の自動作成とは、希望の募集から配置案・ルールの確認・周知までの流れのうち、判断の入らない段階を道具に渡すことです。1枚の表がボタン1つで完成する、という形にはなりません。段階に分けると、渡せる段階と渡せない段階がはっきりします。

8段階に分けると、時間が消えるのは段階3・5・6

冒頭の店舗の1か月を段階に分けます。所要時間は職場で大きく違うため、自社で測る項目にしています。

段階 担当 入力 出力 判断 所要
1 必要人数 店長 前年同月の売上、予約、行事の予定 日別・時間帯別の必要人数表 あり(何人で回すか) 自社で測る
2 希望を募る シフト担当 翌月のカレンダー、スタッフ名簿 締め切りの案内 なし 自社で測る
3 希望を集める シフト担当 紙の希望表、チャットの返信 希望一覧(スプレッドシート) なし 1人あたりの分数
4 条件の書き出し 店長 希望一覧、資格の一覧 配置で守る条件の一覧 あり(どれを優先するか) 自社で測る
5 配置案 シフト担当 希望一覧、必要人数表、条件の一覧 シフト案 あり(誰をどこに入れるか) 1か月分の時間
6 ルールの確認 シフト担当 シフト案、就業規則 確認済みのシフト案 なし(外れの判定は数で決まる) 1か月分の時間
7 調整と確定 店長 確認済みのシフト案 確定したシフト表 あり(誰に無理を頼むか) 自社で測る
8 周知と変更 シフト担当 確定したシフト表、欠勤や交代の連絡 通知、変更の記録 あり(変更を認めるか) 月の変更件数

時間が消えるのは段階3・5・6です。段階3は15人分の返信を写す手間、段階5は空欄を埋めては合わずに消す行き来、段階6は1人ずつ週の時間と休日を数える作業です。間違いが起きるのも同じ3か所で、写し間違い、資格者のいない時間帯、休日の数え漏れが出ます。

前提として置く数で大きさを見ます。返信を1人2分で写すなら15人で30分、週の時間と休日を1人3分で数えるなら15人で45分です。組み直しが2回あれば確認だけで合わせて90分、写す30分と足して120分、月2時間になります。削れる時間の見込みではなく、渡した後に比べる土台の大きさで、自社の数字は来月の1回分を測って置き換えます。

道具に渡した後の8段階

段階の番号はそのままです。渡し先は段階ごとに違い、1つの道具で全部を受け持つ形にはなりません。

毎月のシフト作りを8段階に分け、段階2・3・6・8をGASに、段階4を生成AIの下書きに渡し、段階5は条件しだいでGASか専用ツールに、段階1と7は人に残す流れを、いまの手作業と並べて示した図
渡し先が段階ごとに違い、配置案(段階5)だけは条件の引っ張り合いで道具が変わります

消えるのは段階2・3の写す・催促する手間と、段階6の数える手間、段階8の1人ずつの連絡です。増えるのは段階4の確認で、生成AIが列に直した条件を店長が読んで直します。段階5は、条件が少なければ自動化が案を出し、多ければ専用ツールが案を出します。どちらでも、案は案のままで、確定は段階7の店長です。

人に残す判断は4つ

  • 必要人数(段階1):人件費と売上の見込みに責任を持つのは店長で、少なく見積もった日の負担はスタッフにかかるため
  • 誰に無理を頼むか(段階7):希望を外して入ってもらう相手は、本人の事情と次の月の埋め合わせまで含めて決めるため
  • 法定の労働時間と休日の最終確認(段階6の後):守る義務は使用者にあり、道具の判定は確定前に人が見て閉じるため
  • 変更を認めるか(段階8):交代の承認は、労働時間の記録と賃金の計算につながるため

自動作成の前に、配置の条件を表に書き出せるか

自動作成で先に決めるのは道具ではなく、配置で守っている条件の一覧です。店長の頭の中にある条件は、書き出すと「なるべく守る」が「必ず守る」に混ざっています。混ざったまま道具に渡すと、解のない条件を与えることになり、どの道具でも配置案は出ません。

必ず守る・なるべく守る・その場で決める

分類 条件の例 扱い
必ず守る 法定の労働時間と休憩・休日、時間帯ごとの必要人数、資格者を各時間帯に1名、未成年の時間帯の制限 外れたら案として出さない。数で判定できる形に書く
なるべく守る 本人の希望、5連勤を避ける、土日の出勤回数を月で2〜3回にそろえる 外れてもよいが、外れた数を少なくする。優先の順番を決める
その場で決める 新人と組ませる相手、体調を崩した人の負担を軽くする 道具に渡さない。段階7で店長が決める

表の数字は例です。5連勤や月2〜3回は、自分の職場で実際に守っている値に置き換えます。書き出してみると、必ず守る側が5個以上になり、なるべく守る側に優先の順番が付いていないことがよくあります。この順番を決めるのは、道具ではなく店長です。

法定の労働時間と休日は、必ず守る側に入れる

原則として、1日8時間・1週40時間を超えて働かせることはできません。休憩は、労働時間が6時間を超えるなら45分以上、8時間を超えるなら1時間以上です。休日は少なくとも毎週1日、または4週間を通じて4日以上です。この3つは数で判定できるため、スプレッドシートの関数や自動化で外れを見つけられます。

前提として、早番を7時〜16時、遅番を13時〜22時、どちらも休憩1時間と置きます。拘束9時間・実働8時間なので1日の上限ちょうどで、週5回入れば40時間に届きます。同じ週に6回目を入れた時点で外れです。実働が8時間を超えるので休憩は1時間が要り、45分では足りません。数で書けるのはこういう判定で、道具はここを毎回同じ基準で数えます。

変形労働時間制や時間外の労使協定を使っている職場では、週の上限の数え方が変わります。その場合は就業規則と協定の条件をそのまま列に足し、数え方の決め方は社会保険労務士に確かめてから道具に入れます。

スプレッドシートの列にできるかで、道具が決まる

条件を書き出したら、スプレッドシートの列にできるかを見ます。名前・日付・希望の区分・資格の有無・週の上限時間が列になり、日付と曜日の見出しは関数で月ごとに並べられます。「Aさんは第2週だけ午前」のような自由記述が多い職場は、この段階で手が止まります。列にできた条件は道具に渡せ、列にできない条件は段階7に残ります。

専用ツール・AIは、シフト表のどこまでを自動化できるのか

必ず守る条件が数を数えるだけで済むなら、スプレッドシート+自動化で足ります。資格・連勤・公平さのような条件が互いに引っ張り合うなら、専用ツールを比べます。条件がまだ言葉のままで列になっていないなら、生成AIで書き出しから始めます。3つは取り合いではなく、段階ごとに受け持つ範囲が違います。

道具 得意な段階 向かない条件 人が確かめること
スプレッドシート+自動化 2 募集、3 集約、6 ルールの確認、8 周知と変更の記録。条件が少ない配置案 引っ張り合う条件が重なり、組み合わせを試す必要がある配置 作った人以外が止め方を分かるか、確認の結果が正しいか
専用のシフト作成ツール 5 配置案(複数の条件を同時に満たす案)、勤怠との連携 条件の書き出しが済んでいない職場、ツールの設定項目に無い独自の条件 設定した条件が就業規則と合っているか、案の外れの数
生成AI(ChatGPT・Claude・Gemini) 4 自由記述の希望を列に直す、5 少人数の配置案の叩き台 人数と時間の合計を毎回正しく数えること、同じ指示で同じ案を出すこと 列に直した条件が希望と合うか、叩き台の数の合計

スプレッドシートと自動化で足りる職場

スタッフが10人台で、時間帯が早番・遅番の2つほど、必ず守る条件が「必要人数」と「法定のルール」だけの職場です。自動化(Google Apps Script)はスプレッドシート・フォーム・Gmailを動かせるため、募集の案内、回答の集約、週の時間の合計と休日の数の確認、確定版の通知までを1つのファイルの中で組めます。Excelのマクロでも同じ範囲はできますが、フォームの受付と通知まで一続きにするならGoogleの道具の方が手数は少なく済みます。自動化で何ができるかの全体は自動化でできることと苦手な作業の記事で扱っています。

専用ツールが要る職場

夜勤の時間帯に資格者を必ず1名、5連勤は避ける、土日の回数はそろえる、希望もできるだけ通す。このように条件が互いに引っ張り合う職場では、1つを満たすと別の1つが崩れます。専用ツールは、こうした条件を同時に満たす組み合わせを探す仕組みを持っていて、ここがスプレッドシートの関数との違いです。比べるときは、自分の職場の必ず守る条件が設定項目にそのまま入るかを、試用期間のうちに1か月分の実データで確かめます。介護や飲食のように業界で決まった条件が多い場合は、介護のシフト作成の記事や飲食店のシフト作成の記事も参考になります。

生成AIを使うのは、条件を言葉から表にする段階

「第2週は午前だけ」「月末は子どもの行事があるので土曜は休み」といった自由記述を、日付ごとの列に直すのは生成AIの得意な作業です。15人分の返信を貼り付けて、名前・日付・可否の表にさせれば、段階3と4の写す手間が減ります。一方で、配置案そのものを任せると、人数や週の時間の合計がずれた案が返ってくることがあり、同じ指示でも毎回同じ案にはなりません。生成AIの出した案は、段階6のルールの確認を通してから店長に渡します。

For Executives

御社の情報で書き下ろす、
御社専用のAI活用ご提案書。

御社の公開情報と業界の一次統計をもとに、本当の課題、選んだテーマの解決策、効果の試算の式、最初の30日までをPDF・15ページに1社ずつ書き下ろします。代表 吉元が監修して数営業日でメールでお届け。完全無料・契約義務なし。

経営者・役員・部門長・AI推進ご担当者の方限定。御社の事業に当てはめた個別作成のため、立場が判断できない方への配信はお断りしております。

条件に基づく自動配置を自前の自動化で組むと、どこで手に余るのか

最低人数と資格者の有無を確かめる処理は自動化で足ります。手に余るのは、条件を満たす組み合わせを試しながら探す配置です。自動化のスクリプト1回の実行時間は、2026年9月時点の公式の上限で6分です。自動実行の1日の合計は、無料アカウントで90分、Google Workspace で6時間です。

最低人数と資格者の確認は、数えるだけなので自動化で足りる

「各時間帯に最低2名」「夜勤に資格者が1名」「週40時間を超えない」「4週で4日以上の休日」は、どれも表を1回なめて数えれば判定できます。15人×30日の表なら450マスで、早番4人・遅番4人の必要人数を30日分なめても、数える処理は1回6分の上限に遠く届きません。外れたセルに色を付け、どの条件から外れたかを横の列に書き出せば、段階6の目で数える作業は確認するだけに替わります。

組み合わせを試す配置は、1回6分に収まりにくい

前提を置いて数えます。15人がそれぞれ1日に「休み・早番・遅番」の3通りを取るなら、1日分の並べ方だけで3の15乗=14,348,907通りです。これが30日分つながり、連勤や土日の回数のように日をまたぐ条件が入ると、順に全部を試す作り方では終わりません。専用ツールが持っている、条件を満たす案を効率よく探す仕組みを、自動化で一から組むことになります。

作れないわけではありません。ただ、1回6分で区切って途中から再開する仕組みまで要り、作った人以外が直せない仕組みになりがちです。6分に当たったときの分け方は自動化の6分の上限に当たったときの記事にまとめています。分けるほど、どこまで終わったかを記録する仕組みが要ります。

決めきれない境目は、引っ張り合う条件の数

引っ張り合う条件が1〜2個なら、自動化で「希望が○の人を必要人数まで順に入れる」案を出し、外れを店長が手で直す運用も成り立ちます。3個目が加わったところで専用ツールの試用と比べる、という線は引けます。ただ、直す手間を店長がどこまで受け入れるかは職場で違い、ここは数だけでは決めきれません。2か月続けて、手で直したセルの数を数えてから決める方が無難だと考えています。

完成後の運用:周知と変更の受付、作った人が異動したとき

確定したシフトの通知、締め切りの案内、変更申請の記録は、自動化の定期実行とフォームで自動にできます。気をつけるのは、実行時刻のずれ、変更の承認の置き場所、作った人のアカウントで動く仕様の3つです。

締め切りの案内は、時刻のずれを見込んで置く

決めた時刻に動かす設定(時間主導型のトリガー)は、公式の説明では9時に設定すると9時から10時の間のどこかで動きます。毎月17日の朝に「20日締め切り」の案内を送るなら、始業前に届くよう7時台に置きます。締め切りの3日前の17日に案内、1日前の19日に未提出の人だけへ再送、20日に受付を閉じ、22日までに配置案、25日に公開、という日程なら、自動化が受け持つのは17日・19日・25日の3回の送信です。締め切り当日の正午ちょうどに受付を閉じるような、分単位の動きは期待しません。

変更の申請は記録まで、承認は店長

欠勤や交代の連絡をフォームで受ければ、日時・申請者・交代相手が変更の記録に並び、店長に通知が届きます。交代を認めるかどうかは店長が決め、承認欄に印を付けた行だけが確定のシフト表に反映される形にします。承認を道具に任せると、週の時間の上限を超える交代がそのまま通ります。

作った人が異動すると、通知が止まる

定期実行やフォーム送信で動く仕組み(インストール型のトリガー)は、作った人のアカウントで動きます。止まったときのエラーのメールも作った人に届きます。作ったシフト担当が異動や退職をすると、締め切りの案内が出ていないことに、スタッフからの問い合わせで初めて気づくことになりかねません。動かし始める前に、誰のアカウントで動かすか、エラーの知らせを誰と誰に届けるか、引き継ぐ人は誰かの3点を、シートの欄外に書いておきます。

ビフォーアフター:月末のシフト作りを段階ごとに渡すと、店長の手元はこう変わる

手作業のまま作っている場合

  • 20日の締め切り前に、未提出の人へ1人ずつ連絡し、返ってきた希望を表に写す
  • 空欄を埋めては合わずに消し、資格者のいない時間帯を見つけては組み直す
  • 週の時間と休日を1人ずつ数え直し、数え漏れは翌月に気づく
  • 確定版を個別に送り、交代の連絡は口頭で受けて表を手で直す

段階ごとに道具へ渡した場合

  • 自動化が案内と催促を送り、回答は希望一覧に並ぶ。自由記述は生成AIが列に直し、店長が確かめる
  • 配置案は条件の数に合わせて自動化か専用ツールが出し、外れたセルには色が付く
  • 店長は色の付いたセルと、誰に無理を頼むかだけを見る
  • 確定版の通知と変更の記録は自動で、承認は店長が印を付ける

スタッフの数も条件も同じです。変わるのは、店長の手元の作業が写す・数えるから確かめる・決めるに替わる点です。必要人数と、誰に無理を頼むかを決めるのは、どちらの場合も店長です。

渡す前に測っておく4つの数字

削れる時間を先に見込むのではなく、渡した後に比べる土台を測ります。1か月分のシフトを作るのにかかった時間(店長とシフト担当がそれぞれ記録)、確定した後の変更の件数(シフト担当)、希望が通った割合(希望の○の数に対して入った数)、段階6で見つかった外れの件数の4つです。2か月分を並べ、月に1回、店長が見ます。たとえば希望の○が月に120個あって108個が入れば90%で、渡した後にこの割合が下がっていないかを見ます。

この記事のまとめ

  • 来月分を作るときに、配置で守っている条件を「必ず守る・なるべく守る・その場で決める」の3列に書き出し、なるべく守る側に優先の順番を付けます
  • 引っ張り合う条件が2個までなら、スプレッドシートと自動化で募集・集約・確認・通知を組み、3個目が加わったら専用ツールの試用で1か月分の実データを流して比べます
  • 動かし始める前に、誰のアカウントで動かすか、エラーの知らせ先、承認する人をシートの欄外に書き、2か月分の作成時間と手で直したセルの数を記録します

監修者|生成AIの導入から定着まで伴走する専門家が確認しています

吉元大輝(よしもとひろき)

株式会社BoostX 代表取締役社長

AI顧問・FDE型AI伴走支援・AIエージェント開発など、生成AIの相談から構築・現場定着までを一社で支援。業務可視化から効果測定まで、企業のAI活用を実務レベルで前に進めている。

2026年10月

この記事をシェア

読んで終わりにしないために

「自社の場合は、どうすれば?」
その答えを、最大45分で持ち帰る。

記事で分かるのは、一般論まで。AI導入を専門に見ている担当が、貴社の業務に当てはめて“次の一手”だけを一緒に整理します。

この相談で持ち帰れるもの

  1. 01

    自社業務に当てはめたAI活用マップ

  2. 02

    投資対効果(ROI)のシミュレーション

  3. 03

    いまの悩み・疑問への、その場の個別回答

COMPANY PROFILE / PDF 全46ページ

BoostXの考え方・7つのサービス・料金を、1冊に。

社内でAI活用を検討されるときの資料として、そのままご共有いただけます。入力は3項目、送信後すぐにダウンロードできます。

会社案内を無料でダウンロード