「シフト作成、毎月何時間もかかってる…」
「スタッフの希望はできるだけ考慮したいけど、調整が大変で時間ばかり取られる…」
「人数が足りない日、誰に声かけよう…もう限界!」

採用業務と現場管理を兼務されている担当者様、シフト作成って本当に大変ですよね。スタッフ全員の希望を聞いて、1日の必要人数を満たして、なおかつ公平に…考えることが多すぎて頭がパンクしそうになります。

そこで今回は、完全無料のAI「Claude」を使って、LINEなどで集めたシフト希望を貼り付けるだけで、必要人数も自動で調整してくれるシフト自動作成システムをご紹介します!

AIを使ったことがないという方でも大丈夫!手順を一つ一つ説明していきます!従来なら数時間かかっていたシフト作成が、たった15分程度で完了できますよ♪

面接の合否を自動判定するシステムについてはこちらの記事をご覧ください↓↓

Claude自動シフト作成システムの仕組み

「合否自動判定システム」、まずはどういう仕組みなのかを手順とともに解説します!

①スタッフの希望をチャット(LINEなど)で回収する

スタッフがいつも使っているチャットツールなどでシフト希望を送ってもらいましょう。いつものシフト提出頻度に合わせて、「〇:出勤希望」「×:休み希望」を入力してもらうだけでOKなので、スタッフの負担も少なくできます!

提出例↓↓

佐藤
12/1:〇
12/2:×
12/3:〇
12/4:〇
12/5:×
12/6:〇
12/7:〇
12/8:×
12/9:〇
12/10:〇
12/11:×
12/12:〇
12/13:〇
12/14:×
12/15:〇

②希望をコピーしてClaudeに渡すだけで自動作成

ここがこのシステムの最大のポイントです!LINEで集まった希望をコピー&ペーストして、AI「Claude」に渡すだけで、自動的にシフトを作成してくれます。

今回はこんなルールでシステムを作ってみました↓↓

  • 1日あたりの必要人数(例:3人)を必ず満たす
  • スタッフの希望を最大限尊重(希望〇の日に優先配置)
  • 勤務日数の差を公平に(最大2日以内)
  • 希望が重なった日は、勤務日数が少ない人を優先

Claudeに指示する内容(プロンプトと言います!)を変えるだけで、自社にあわせたシフトを自動で組んでくれますよ◎

プロンプトの内容についてはのちほど説明します!

③会話ベースで調整も可能

〇日は忙しそうだから、やっぱり4人体制にしたい!

Aさんが△日シフト希望出してたけど、都合悪くなったから別の人に変えてほしい!

そんな微調整も、Claudeに話しかけるだけで即座に対応!再計算して新しいシフトを作成してくれます。

「この日は他に誰がシフト入れるんだったっけ…」とLINEを見返す必要はありません。Claudeが全部覚えてるので、希望を伝えるだけでOKです!

④CSVでダウンロードしてガントチャートに

Claudeが作成したシフトは、そのままCSV形式でダウンロードできます。

スプレッドシートにCSVを連携し、自動で見栄えを調整する関数を組んでおけば、あっという間にシフト表完成!

URLを共有したり、印刷したりするだけでスタッフへの連携も完了します!

AI自動シフト作成システムのつくり方

ではさっそく、どのように作るのかを解説していきます!

必要なもの

  1. Claudeアカウント:https://claude.ai から登録できます。無料プランでOKです!
  2. スタッフの希望シフト:今回はダミーで用意しました!まずは試してみたいという方は同じダミーを使ってみてください!
  3. Googleスプレッドシート:Googleアカウントがあれば無料で使えます!ぜひ登録してみてください。

ステップ①LINEでシフト希望を回収する

まず、スタッフにLINEなどのチャットツールでシフト希望を送ってもらいましょう。スタッフグループLINEや個別トークで、以下のようなテンプレートを送信します。

【12月前半シフト希望提出のお願い】

以下の形式で希望を教えてください!
〇:出勤希望
×:休み希望

例)
佐藤
12/1:〇 12/2:× 12/3:〇 12/4:〇 12/5:× 12/6:〇 12/7:〇 12/8:× 12/9:〇 12/10:〇 12/11:× 12/12:〇 12/13:〇 12/14:× 12/15:〇

締切:〇月〇日(〇)まで

今回は、スタッフ6名がシフト希望を送ってくれたと想定してシフトを作っていきます!各スタッフの希望の間は1行空けて、以下のようにまとめてくださいね↓↓

佐藤
12/1:〇
12/2:×
12/3:〇
12/4:〇
12/5:×
12/6:〇
12/7:〇
12/8:×
12/9:〇
12/10:〇
12/11:×
12/12:〇
12/13:〇
12/14:×
12/15:〇

渡辺
12/1:×
12/2:〇
12/3:〇
12/4:×
12/5:〇
12/6:〇
12/7:×
12/8:〇
12/9:〇
12/10:×
12/11:〇
12/12:〇
12/13:×
12/14:〇
12/15:〇

山本
12/1:〇
12/2:〇
12/3:×
12/4:〇
12/5:〇
12/6:×
12/7:×
12/8:〇
12/9:〇
12/10:〇
12/11:×
12/12:〇
12/13:×
12/14:〇
12/15:〇

田中
12/1:×
12/2:×
12/3:〇
12/4:〇
12/5:〇
12/6:〇
12/7:〇
12/8:×
12/9:×
12/10:〇
12/11:〇
12/12:〇
12/13:×
12/14:×
12/15:〇

高橋
12/1:〇
12/2:〇
12/3:〇
12/4:×
12/5:×
12/6:〇
12/7:〇
12/8:〇
12/9:×
12/10:×
12/11:〇
12/12:〇
12/13:〇
12/14:×
12/15:〇

伊藤
12/1:〇
12/2:×
12/3:〇
12/4:〇
12/5:〇
12/6:×
12/7:〇
12/8:〇
12/9:〇
12/10:×
12/11:〇
12/12:×
12/13:〇
12/14:〇
12/15:〇

ステップ②:Claudeにシフト作成を依頼する

ここからが本番です!まずはClaudeにアクセスし、ログインします。以下のプロンプトをコピーして、先ほど集めたシフト希望のデータと一緒にClaudeに貼り付けてください。

あなたはシフト作成のプロフェッショナルです。以下の条件を厳密に守り、最終シフトを作成してください。
【絶対条件】
1. 1日あたりの勤務人数は必ず3人。
2. 勤務は YES、非勤務は – のみ。
3. 出勤日数の差は最大2日以内にする。
4. 希望日は尊重するが、人数3人が守れない場合は優先して調整。

【スタッフ希望データ】
佐藤
12/1:〇
12/2:×
12/3:〇
12/4:〇
12/5:×
12/6:〇
12/7:〇
12/8:×
12/9:〇
12/10:〇
12/11:×
12/12:〇
12/13:〇
12/14:×
12/15:〇

渡辺
12/1:×
12/2:〇
12/3:〇
12/4:×
12/5:〇
12/6:〇
12/7:×
12/8:〇
12/9:〇
12/10:×
12/11:〇
12/12:〇
12/13:×
12/14:〇
12/15:〇

山本
12/1:〇
12/2:〇
12/3:×
12/4:〇
12/5:〇
12/6:×
12/7:×
12/8:〇
12/9:〇
12/10:〇
12/11:×
12/12:〇
12/13:×
12/14:〇
12/15:〇

田中
12/1:×
12/2:×
12/3:〇
12/4:〇
12/5:〇
12/6:〇
12/7:〇
12/8:×
12/9:×
12/10:〇
12/11:〇
12/12:〇
12/13:×
12/14:×
12/15:〇

高橋
12/1:〇
12/2:〇
12/3:〇
12/4:×
12/5:×
12/6:〇
12/7:〇
12/8:〇
12/9:×
12/10:×
12/11:〇
12/12:〇
12/13:〇
12/14:×
12/15:〇

伊藤
12/1:〇
12/2:×
12/3:〇
12/4:〇
12/5:〇
12/6:×
12/7:〇
12/8:〇
12/9:〇
12/10:×
12/11:〇
12/12:×
12/13:〇
12/14:〇
12/15:〇

【処理手順】
1. 初期割り当て:
– 〇 → YES、× → – に変換。
2. 人数調整(全日3人を最優先):
– 各日の勤務人数が3人になるように調整。
– 3人未満の場合:YES希望スタッフの中で勤務日数最少の人を追加。
– 3人超過の場合:勤務日数が最も多いスタッフから削除。
– この処理を**全日必ず実行**。
3. 均等化調整(最大勤務日数差2日以内を目標):
– 勤務日数が多いスタッフを、勤務日数が少ないスタッフと入れ替える。
– ただし**日別勤務人数3人は絶対に維持**。
– 条件を満たすまで繰り返す。
4. 繰り返し処理:
– 全日で人数3人かつ最大勤務日数差2日以内になるまで、人数調整+均等化調整を自動で繰り返す。
【出力形式】
1. 最終確認表(日別勤務人数3人を確認)
2. シフト表 CSV (WBS形式)
– 行:スタッフ名
– 列:日付
– 勤務: YES / 非勤務: –
3. 補助CSV(勤務日数集計)
StaffName,TotalWorkDays

結構長いし複雑だな…と思いますよね…。AIは、的確に指示をしないと誤った回答を出してしまう可能性があるので、まずはこのままペーストしてみてください。

メッセージを送信すると、Claudeが自動的にシフトを作成してくれます!所要時間はたったの10~30秒程度!実際に出力された内容の一部を画像でお見せするとこんな感じです↓↓

慣れてきたら、【絶対条件】や【処理手順】、【出力形式】などを変えるだけで希望する形式で作成できますよ◎

ステップ③:完成したシフトをダウンロード

上記の画像内「12月シフト表(希望考慮版)」と書かれた部分をクリックすると、以下のようなものが表示されます。

StaffName,12/1,12/2,12/3,12/4,12/5,12/6,12/7,12/8,12/9,12/10,12/11,12/12,12/13,12/14,12/15
佐藤,YES,-,YES,YES,-,YES,YES,-,YES,YES,-,-,YES,-,-
渡辺,-,YES,YES,-,YES,-,-,YES,-,-,YES,YES,-,YES,-
山本,YES,YES,-,YES,YES,-,-,YES,YES,YES,-,-,-,YES,-
田中,-,-,YES,-,YES,YES,-,-,-,YES,YES,YES,-,-,YES
高橋,YES,YES,-,-,-,YES,YES,-,-,-,YES,YES,YES,-,YES
伊藤,-,-,-,YES,-,-,YES,YES,YES,-,-,-,YES,YES,YES

このように、「,」で区切られたデータがCSVになります。これを扱いやすい状態に変換してみましょう!

まずはこのデータをコピーして、PCのメモ帳に貼り付けます。

次はCSV形式で保存します。メモ帳の「ファイル」から「名前を付けて保存」をクリックします。

ここで重要なのは「ファイル名」と「エンコード」です!

ファイル名は必ず拡張子「.csv」を末尾につけてください。日本語が文字化けしないよう、エンコードは「ANSI」を選び、「保存」をします!

これでCSV形式でダウンロード完了です!

ステップ④スプレッドシートで見栄えを整える

次はスプレッドシートを編集していきます。こちらがサンプルです!ぜひコピーして触ってみてください。

サンプルをダウンロードする

「シフトデータ」がClaudeが作成したシフトで、「12月シフト(確定版)」が見やすいように整えたシートになります。これを今から作成していきます!

まずは空のスプレッドシートを用意し、「ファイル」から「インポート」をクリックします。

アップロードのタブに切り替え、先ほど保存したCSVデータを選択してください。

どこにインポートするかを設定していきます。今回のように、「連携したいシートが決まっている」場合は「新しいシートを挿入する」を選択し、「データをインポート」をクリックします。

すると、先ほどのシートに新しくタブが追加され、CSVデータが連携されました!

ただ、このデータだと誰が何日にシフトに入っているのかが分かりにくいですよね。そこで、「シート1」のほうで関数を組んでいきます。

A2セルに、「=’QZINE店シフト12月’!A2」と入れてみてください。

すると、A2に「佐藤」という文字が表示されました!この関数は、「“QZINE店シフト12月”という名前のタブのA2セルの内容をそのまま表示する」というもの。

A2セルを選択して青色の●をクリックしながら下へスライドさせると、スタッフの名前が全部表示されます。同じようにB1~P1セルもコピーして、日付を表示しましょう。

※ブログでの見やすさの都合上、B~Pのセルの幅を狭くしています。

早速シフトを表示していきます!B2セルに「=IF(‘QZINE店シフト12月’!B2=”YES”,”YES”,””)」と入力すると、「YES」と表示されます!この関数を全員分コピーしてみるとこんな感じになります。

YESまたは空欄になりました!これは、「“QZINE店シフト12月”という名前のタブのB2に「YES」と書かれてたらYES、そうじゃなかったら空欄を表示する」という関数です。

さらに見やすくしていきます!まずはB2~P7セルを選択し、文字をオレンジに変えます。

同じくB2~P7セルを選択し、「表示形式」>「条件付き書式」をクリックします。

画像の通り、セルの書式設定の条件を「カスタム数式」にし、下に「=B2=”YES”」を入力。書式設定のスタイルで、先ほど変えた文字の色と同じ色を選び、「完了」を押すと…

視覚的に見やすいシフト表が完成しました!あとは格子や中央揃えなどで調整したら…

サンプルと同じ見栄えになりました!

実務で使える!シフト作成のアレンジ方法

このシフト条件そのままじゃ、実務で使えない…という場合が多いかと思います。ここからはプロンプトをアレンジする方法をご紹介します!

アレンジ①必要人数を変更する

「平日は2人、土日は4人にしたい」という場合、【絶対条件】部分の一番上を以下のように変更します。

【絶対条件】
1. 平日の勤務人数は必ず2人、土日祝は必ず4人。

※Claudeが最新のカレンダーを参照しない場合があります。その場合、「12/〇は4人」など、あいまいにならない指示に変えましょう。

アレンジ②シフトの微調整

「12/25は佐藤さんを外して、代わりに田中さんを入れたい」という場合も発生するかと思います。そんな時はClaudeに以下のように伝えましょう!

12/25の佐藤さんを田中さんに変更してください。
他の日は1日3人と勤務日数の公平性を維持してください。

25日の佐藤さんを田中さんに変えることだけでなく、他の日のルール(1日3人、スタッフ同士の勤務日数を調整する)は変更しないよう指示しています!

これだけで、自動的に再計算してくれますよ!

アレンジ③複数店舗の一括作成

複数店舗を管理している場合も、店舗ごとにデータを分けてClaudeに依頼すれば、一気に作成できます。

以下の3店舗分のシフトを作成してください。
各店舗で1日3人、勤務日数差2日以内を守ってください。

【渋谷店】
(スタッフ希望データ)

【新宿店】
(スタッフ希望データ)

【池袋店】
(スタッフ希望データ)

アレンジ④:スキル・ポジションを考慮

飲食店など、ポジションを考慮してシフトを作る必要がある場合がありますよね。例えば、ホールとキッチンで最低一人ずつ必要な場合…

【絶対条件】
1. 1日あたりの勤務人数は必ず3人。
2. 毎日ホールスタッフ1人以上、キッチンスタッフ1人以上を配置。

【スタッフ情報】
佐藤(ホール)
12/1:〇 12/2:× …

渡辺(キッチン)
12/1:× 12/2:〇 …

山本(両方OK)
12/1:〇 12/2:〇 …

このように条件を追加すればOK!他にも、新人の子は店長と一緒にシフトに入る、など、スキルに合わせた条件もできますよ◎

シフト自動作成システムを実務で活用する方法

「うちの業種に合わせてカスタマイズしたい」「関数の調整が難しくてうまくいかない」

そんな場合はぜひお気軽にご相談ください!貴社のご要望をお聞きした上で、オリジナルのシフト作成システムを作成いたします!

また、かなり複雑な仕様となっておりますので、Claudeやシートの使い方が分からない場合などもお気軽にご相談くださいませ!

まとめ

今回は、無料AI「Claude」とスプレッドシートを使ってシフト作成を自動化する方法についてお伝えしました。

通常業務と採用業務を兼任されている方は特に、シフト作成の負担が大きいと思います。ぜひClaude×スプレッドシートを使った自動シフト作成システムを活用して、本来やるべき業務に時間を使ってみませんか?

求人についてお悩みがありましたら、株式会社トラスト・プランへ!
お気軽にご相談くださいませ♪

求人について問い合わせる