guide

シフトの自動作成をエクセルで無料でやる|できる範囲と限界

2026年9月29日・Rizaflow編集部

シフトの自動作成をエクセルで無料でやりたいという相談は、たいてい同じ場面から始まります。毎月末に紙やチャットで集めた希望を見ながら、表のマスを1つずつ埋めていて、途中で人数が足りない日に気づいて全部やり直す。この作業に数時間かかっているなら、無料の範囲でも減らせる余地があります。ただし「自動」という言葉には2つの意味があり、どちらを求めているかで打つ手がまったく変わります。この記事では、関数でできる自動計算と、割り当てそのものを機械にやらせる自動作成を分けたうえで、無料で手に入るもの、エクセルの限界、そして表を作り直すより先に手を付けるべき場所を順に整理します。

まず「自動」の意味を2つに分ける

エクセルで自動化と言うとき、実際には次の2つが混ざっています。

1つめは自動計算です。マスに勤務の記号を入れたら、その人の月の労働時間、休みの日数、日ごとの出勤人数が勝手に集計される状態です。これは関数だけで作れますし、無料のテンプレートにも最初から入っているものが多くあります。手作業として消えるのは、電卓での足し算と、人数が足りない日を目で探す作業です。

2つめは自動割り当てです。希望と必要人数と資格の条件を入れたら、誰をどの枠に入れるかまで機械が決める状態です。これはエクセルの標準の機能では届きません。近いことができるのはソルバーというアドインですが、条件の書き方を覚える必要があり、店の事情に合わせて作り直すたびに組み直すことになります。

この区別が大事なのは、多くの人が2つめを期待して無料のテンプレートを探し、1つめが入ったものを手にして「自動じゃなかった」と感じるからです。無料のテンプレートを紹介している記事でも、この点はこう説明されています。

無料で使えるシフト自動作成ソフトやテンプレートはあります。エクセルの無料テンプレートやGoogleスプレッドシートを活用すれば、初期費用をかけずにシフト表を作成できます。 出典: sharefull.com

初期費用をかけずに始められるのは事実です。そのうえで、どこまでが無料で、どこから手作業が残るのかを先に知っておくと、無駄な探し回りが消えます。

無料で手に入るテンプレートの種類と選び方

無料のテンプレートの入手先は3つに分かれます。マイクロソフトが公式に配っているもの、シフト管理の道具を売っている会社が配っているもの、そして個人や事務所が配っているものです。

マイクロソフトの公式のテンプレートは、追加の会員登録なしで開けて、書式が崩れにくいという利点があります。半面、日本の勤務形態に合わせた項目は入っていません。道具を売っている会社が配っているものは、日本の店の事情に合っていて自動計算まで入っていることが多く、実務では扱いやすいです。個人が配っているものは作りが自由で、当たれば手に馴染みますが、更新が止まっている場合があります。

選ぶときに見る点は4つです。第1に、期間の単位です。月間、週間、日別(時間帯別)の3種類があり、必要なものは業態で決まります。飲食や小売のように時間帯ごとの人数が問題になる店は日別、事務所や教室のように日単位で人数が決まる職場は月間が扱いやすいです。

第2に、誰の目で見る表かです。従業員に配る表と、自分が組むための表は別物です。配る表は読みやすさが優先で、組む表は集計と警告が優先です。1枚で両方を兼ねようとすると、どちらも使いにくくなります。同じファイルの中でシートを分けるのが現実的です。

第3に、印刷の形です。壁に貼る運用なら、1枚に収まるかどうかが最重要です。列を増やしてから印刷で崩れて作り直すのは、よくある手戻りです。

第4に、自動計算が何を数えているかです。合計の時間だけ出す表と、休憩を差し引いた実働を出す表では、意味が変わります。差し引きの前提が合っていないテンプレートは、給与の計算に使えません。

関数でできる自動計算のコツ

自動計算の部分は、覚える関数が4つあれば足ります。

日ごとの出勤人数を数えるのは COUNTIF です。その日の列に入っている勤務記号の数を数えます。朝と夜で分けて数えたいときは COUNTIFS にして、記号と区分の2つを条件にします。人ごとの勤務日数も同じ考え方で出せます。

労働時間の合計は SUMIF か SUMPRODUCT です。勤務記号ごとに時間数を決めた小さな表を別のシートに作り、記号から時間を引いてきて足し合わせます。記号と時間の対応を1か所に置いておけば、営業時間が変わったときの修正が1か所で済みます。

足りない日を目で探すのをやめるには、条件付き書式です。必要人数を各日の下に置いて、出勤人数がそれを下回った日のマスに色を付けます。これが入るだけで、表を上から下まで数える作業が消えます。赤く光った列だけを直せばよくなるので、作成の時間は体感で半分近くまで落ちます。

入力の間違いを止めるのはデータの入力規則です。勤務記号をリストから選ぶ形にして、決めた記号以外を受け付けないようにします。「日」「日勤」「にっきん」が混ざると、集計はその瞬間から嘘になります。手で打つ余地を残さないことが、自動計算を信じられる状態にする条件です。

この4つを入れた表は、無料で作れて壊れにくく、引き継ぎもできます。ここまでで満足できるなら、追加の道具は要りません。

自動割り当てまで踏み込むならソルバー

割り当てそのものを機械に決めさせたい場合、エクセルにはソルバーというアドインがあります。公式の説明では、ソルバーはWhat-If分析に使用できるMicrosoft Excelアドインプログラムだとされています。目的セル、変数セル、制約という3つの部品で問題を書き、条件を満たす組み合わせを探させます。

シフトに当てはめると、変数セルが「誰をどの枠に入れるか」を表す0と1のマス、制約が「各日の必要人数」「1人あたりの上限時間」「希望休は入れない」といった条件、目的セルが「人件費の合計」や「希望が通らなかった数」になります。仕組みとしては、シフト作成はこの型にきれいに収まる問題です。

限界は2つあります。1つは規模です。公式のページには、ソルバーを使用して最適値を定義して解決するの中で、最大200個の変数セルを指定することができると書かれています。人数と日数を掛けたマスが変数になるので、10人で31日分を1日1枠で組むと310のマスになり、標準のソルバーでは扱いきれません。朝と夜で2枠あれば、さらに倍です。週ごとに区切るか、対象を絞るかの工夫が必要になります。

もう1つは、条件の書きにくさです。解法には、滑らかな非線形の問題に使うGRG非線形、線形の問題に使うシンプレックスLP、スムーズでない問題に使うエボリューショナリーがあり、シフトのような0と1で決める問題はシンプレックスLPを整数の制約と組み合わせて書きます。この設計は、一度組めば動きますが、組める人が1人しかいない状態になりがちです。その人が辞めた月に誰も直せないファイルが残るのは、現場でよく聞く話です。

エクセルで作るメリットとデメリット

無料で始められるという以外にも、エクセルには実務上の利点があります。

利点の1つめは、すでに全員が読めることです。新しい画面の使い方を教える必要がありません。2つめは、形を自由に変えられることです。店独自の記号や、特殊な勤務の扱いを、そのまま表に持ち込めます。3つめは、手元にファイルが残ることです。過去の月の表をそのまま開けて、去年の同じ時期と比べられます。4つめは、費用が読めることです。月々の支払いが増えません。

弱点も4つあります。1つめは、同時に触れないことです。1人が開いている間、他の人は編集できません。クラウドに置けば共同編集はできますが、そこで今度は誰がいつ何を変えたのかが追えなくなります。2つめは、配ったあとの版が増えることです。印刷して貼った表と、チャットで送った画像と、手元のファイルが食い違い、どれが正しいのか分からなくなります。

3つめは、変更の連絡が別作業になることです。当日の欠勤で組み替えたとき、表を直す作業と、本人に伝える作業と、他の人に知らせる作業が3つ別々に残ります。4つめは、間違いに気づけないことです。条件付き書式で人数は見られますが、法定の条件を破っていないかどうかは、自分で条件を書き込んでおかない限り警告されません。

法定の条件を表に埋め込む

シフトを組む作業の半分は、法定の条件を守る作業です。ここを表の側に警告として入れておくと、後から直す手間が消えます。

厚生労働省が示している基本の条件は明確です。使用者は、原則として、1日に8時間、1週間に40時間を超えて労働させてはいけません。労働時間が6時間を超える場合は45分以上、8時間を超える場合は1時間以上の休憩を与えなければいけません。休日は、少なくとも毎週1日か、4週間を通じて4日以上を与える必要があります。法定の労働時間を超える時間外労働をさせる場合は、労使協定を結んで行政官庁に届け出る必要があり、これが一般に36協定と呼ばれるものです。

繁忙期と閑散期の差が大きい店では、変形労働時間制の考え方が関わります。一定期間を平均して1週間当たりの労働時間が法定の労働時間を超えない範囲内であれば、特定の日や週に法定労働時間を超えて労働させることができる制度で、1か月単位、1年単位、1週間単位のものがあります。どれを使っているかで、表に入れる上限の計算が変わります。

年次有給休暇の管理も表に絡みます。6か月間継続勤務し、その期間の全労働日の8割以上を出勤した場合は10日の有給休暇を与える必要があり、以降は継続勤務1年ごとに1日ずつ、継続勤務3年6か月以降は2日ずつ増え、最高で20日になります。シフトの表に有給の取得をどう記録するかを決めておかないと、後から遡って数えることになります。

制度の当てはめ方に迷ったときは、所轄の労働基準監督署や社会保険労務士に確かめてください。表の作り方の工夫で解決する問題と、制度の確認が必要な問題を混ぜないことが大切です。

表を崩さないための入力ルールと運用のポイント

無料のテンプレートが半年で使われなくなる原因は、関数の出来ではなく運用のほうにあります。守る決まりを3つに絞ると、続きます。

第1に、集計の元になるマスに手で文字を打たせないことです。記号はリストから選ぶ形にして、備考は別の列に書かせます。集計の列に「17時まで」などと書き込まれた瞬間に、関数は答えを出せなくなります。

第2に、行と列を挿入させないことです。1人増えるたびに行を挿入すると、集計の範囲がずれます。あらかじめ空の行を数行用意しておき、そこを埋める形にします。

第3に、原本を1つに決めることです。ファイル名に日付を付けて複製していくと、3か月で誰も最新版を言えなくなります。共有の場所に1つだけ置き、印刷用のシートを分けます。

もう1つ、作る順番のコツがあります。先に休みを埋めて、次に必ず入る人を置き、最後に調整の枠を埋めます。空いているマスから埋めていくと、最後に必ず破綻します。希望休と資格の条件という動かせないものから置くのが、手戻りを減らす順番です。

一方で、シフトを自動で作るには条件の書き込みが必要になる点は、道具を選ぶときにも同じように付いてきます。関数や入力の決まりを整える作業は、どの方法を選んでも避けられません。無料のテンプレートを使うか、専用の道具に移るかの判断は、この作業をどこで引き受けるかの選択になります。

月間、週間、日別のどれで作るか

同じシフト表という言葉でも、中身は3種類あります。どれを選ぶかで、作成にかかる時間も、見る人の分かりやすさも変わります。

月間の表は、縦に従業員、横に1日から31日を並べる形です。1枚で1か月が見渡せるので、休みの偏りと連続勤務がすぐ分かります。弱点は、時間帯の情報が入らないことです。同じ出勤でも朝からなのか夕方からなのかを記号で区別するため、記号の種類が増えます。記号が7種類を超えたあたりから、読む側が覚えきれなくなります。

週間の表は、縦に従業員、横に7日を並べ、マスの中に開始時刻と終了時刻を書ける余裕があります。時間帯の指定が細かい店に向きます。弱点は、月の合計を見るのに4枚を足し合わせる必要があることです。月の上限時間を管理している場合は、別シートに集計を置く必要があります。

日別(時間帯別)の表は、1日を1枚とし、縦に従業員、横に時間帯を並べる形です。飲食店の昼と夜、小売の開店直後と夕方のように、時間帯で必要人数が大きく変わる店ではこれが最も正確です。弱点は枚数です。1か月で30枚を作ることになるため、テンプレートの側で日付とメンバーを自動で流し込む作りにしておかないと続きません。

実務では、組むための表と配るための表を分ける形がいちばん落ち着きます。組むときは日別で必要人数と突き合わせ、配るときは月間に集約して貼り出す。同じファイルの中でシートを分け、月間の表は日別の表から関数で引いてくる形にすれば、二重の入力が消えます。

希望の出し方の決まりを先に作る

自動化の効果がいちばん大きいのは、実は表の中ではなく、希望を出してもらう段階です。ここの決まりが緩いと、どんな表を用意しても手作業が残ります。

決めることは4つあります。第1に、締め切りです。前月の何日までと日付で決め、その日を過ぎた希望は翌月扱いにすると宣言します。例外を1度認めると、次の月から全員が遅れます。第2に、出す形です。チャットの文章ではなく、決まった表か決まった書式で出させます。「来週の水曜は夕方から入れます」という文章は、そのままでは表に移せません。

第3に、希望の種類を分けることです。休みたい日と、入れない日と、できれば入りたい日は別物です。多くの店ではこれが混ざっていて、どれを優先するかの判断が毎月ぶれます。休みの希望は月に何日までと上限を決めておくと、判断が要らなくなります。第4に、決まったあとの伝え方です。希望が通らなかった人に、通らなかったことを個別に伝えるかどうかを最初に決めます。何も言わずに表を貼り出すと、その場で不満が出ます。

この4つを紙1枚にまとめて配っておくだけで、毎月の往復が半分近く減ります。関数を覚えるより先に効く作業で、費用はかかりません。無料でできることの中では、いちばん投資効率が高い手当てです。

そして決まりを作ったあとに残るのが、集めて反映して知らせるという往復そのものです。ここは表の工夫では消えないので、道具を替えるかどうかの判断材料になります。

Googleスプレッドシートで作る場合の違い

無料で始めるという点では、Googleスプレッドシートも同じ選択肢に入ります。エクセルとの違いは3つあります。

1つめは、同時に触れることです。複数の人が同じ表を同時に開いて編集でき、誰がどのマスを変えたかが履歴に残ります。希望を本人に直接入れてもらう運用にできるため、回収の手間が減ります。半面、集計用のマスまで触られると壊れるので、範囲を保護する設定が必須になります。

2つめは、関数の名前がほぼ同じで、一部の挙動が違うことです。COUNTIF や SUMIF はそのまま使えますが、時刻の扱いと書式の細部が違うため、エクセルで作った表をそのまま読み込むと表示が崩れることがあります。移すなら、集計の式は作り直す前提で考えます。

3つめは、スマートフォンでの見やすさです。従業員の多くは電話で表を見ます。共有のリンクを開くだけで見られるのは実用上の利点ですが、横に31列ある表は電話の画面ではほぼ読めません。配る用のシートは列を絞るか、1人分だけを抜き出して見せる形にします。

どちらを選ぶかは、希望の回収を本人に任せたいかどうかで決まります。任せたい店はスプレッドシート、手元で完結させたい店はエクセルが素直です。

人件費の見張りを表に組み込む

シフトを組む目的は、人を並べることではなく、必要な人数で店を回すことです。だから表には、時間の集計と並べて費用の集計を置いておくと判断が速くなります。

作り方は単純です。従業員ごとの時間単価を別のシートに置き、勤務時間の集計に掛け合わせて日ごとと月ごとの人件費を出します。ここに、その日の売上の見込みを入れる列を1つ足します。人件費を見込みの売上で割った割合が日ごとに並ぶので、厚すぎる日と薄すぎる日が数字で見えます。

気をつける点が2つあります。第1に、深夜や休日の割増を単価に織り込むことです。時間だけを足して単価を掛けると、割増のある日が実際より安く見えます。第2に、休憩を差し引くことです。拘束時間で計算すると、6時間を超える勤務の日が毎回ずれます。法定では労働時間が6時間を超える場合は45分以上、8時間を超える場合は1時間以上の休憩が必要なので、この時間を引いた実働で集計します。

この2つを直しただけで、月の人件費の見積もりが数パーセント変わることがあります。自動計算の価値は、早く出ることよりも、同じ前提で毎月出ることにあります。前提が1か所に書いてあれば、単価が変わった月も1か所直すだけで済みます。

自動作成でよく聞かれる失敗

無料のテンプレートを導入した店で起きている失敗は、だいたい5つに分かれます。

1つめは、記号を増やしすぎることです。例外の勤務が出るたびに新しい記号を足すと、半年で20種類になり、集計の式がどれを数えているのか誰も分からなくなります。例外は備考の列に書き、記号は5種類までに抑えます。

2つめは、去年の表を複製して使い回すことです。祝日と曜日の並びが違うので、前月の形をそのまま使うと必ずどこかがずれます。日付と曜日は関数で出す作りにしておきます。

3つめは、確定していない表を配ってしまうことです。作業中の表を共有すると、それを見て予定を立てる人が出ます。配るシートは分けて、確定するまで空にしておきます。

4つめは、ソルバーで組んだ仕掛けを1人で抱えることです。動いているうちは誰も困りませんが、作った人が休んだ月に誰も直せません。作り方を1枚の手順書にして同じファイルに入れておきます。

5つめは、表の完成を目的にしてしまうことです。組み終わった表は出発点で、当日の欠勤や早退で必ず変わります。変わったあとに全員へ伝わる経路を用意していないと、いちばん大事な連絡が抜けます。

エクセルが詰まるのは表ではなく、希望の回収と連絡

作成の時間を計ってみると、意外なことが分かります。表のマスを埋める時間は全体の一部で、残りは希望を集める時間と、できた表を伝える時間です。

希望の回収は、紙、チャット、口頭が混ざります。締め切りを過ぎてから届いたものを反映し、反映したことを本人に伝える。この往復が、いちばん時間を食います。エクセルの関数をどれだけ磨いても、ここは1秒も短くなりません。

確認の作業も残ります。組み終わった表を見て、誰かが連続で出勤していないか、休みの希望を踏んでいないか、資格が必要な枠に持っていない人を入れていないかを見ます。条件付き書式で一部は機械に任せられますが、条件を書き足すのは自分です。

連絡はさらに厄介です。組んだ表を配ったあと、変更が1回起きるたびに全員に伝え直します。当日の欠勤が出れば、代わりに入れる人を探して電話をかけ、表を直し、他の人に知らせます。この3つを別々にやっている限り、伝え忘れが必ず出ます。

道具を替える判断をするときに見るべきなのは、表の出来ではなくこの3か所です。無料のテンプレートを紹介している記事でも、テンプレートだけでなくシフト管理に特化した道具が選択肢になる場面として、希望の提出から自動での反映、欠員の確認までを効率化したい場合が挙げられています。表を作り直しても解決しない領域があると分かっていれば、無駄な作り込みを止められます。

予約の入り方とシフトを同じ場所で見る

もう一段先の話をします。飲食、美容、教室のように予約で人が動く業態では、シフトを決めている本当の材料は予約の入り方です。来客が読めない日に人を厚く置くと人件費が膨らみ、薄く置くと当日に断ることになります。

このとき、予約の表とシフトの表が別のファイルにあると、突き合わせる作業が毎週発生します。逆に、予約の受付と担当者の枠が同じ場所にあれば、埋まり具合を見ながら人を置けます。できることのページには、予約の受付と担当者ごとの枠、営業時間や定休日の設定をどう組み合わせるかが並んでいます。シフト表そのものを作る道具ではありませんが、人を置く材料が同じ画面に出てくること自体が、作成の時間を短くします。

業態によって、必要な作りはかなり違います。担当者を選んで予約する業態と、席だけを押さえる業態では、枠の考え方が別です。業種ごとの使い方で自分の業態に近い形を見てから決めると、道具の選び直しを避けられます。費用の目安は料金で、他の道具と並べたい場合は他社との比較で確かめられます。実際の画面で枠の埋まり方を見たい場合はデモを見る、判断の前に残った疑問はよくある質問に集めてあります。

最後に、移行の目安を1つ挙げます。毎月のシフト作成に3時間以上かけていて、そのうち表を埋める時間が1時間未満なら、表をこれ以上磨いても効きません。残りの2時間は回収と連絡に消えています。逆に表を埋める時間が2時間を超えているなら、条件付き書式と入力規則を入れるだけで無料のまま半分に減ります。自分の時間がどちらに消えているかを1か月だけ計ってから、費用をかけるかどうかを決めてください。

Q1. エクセルでシフトを完全に自動作成できますか?

条件を満たす割り当てを機械に決めさせるところまでなら、ソルバーというアドインで近いことができます。ただし公式の説明では標準のソルバーで指定できる変数セルは最大200個までとされており、10人で1か月分の枠を一度に解くには足りません。週ごとに区切るなどの工夫が必要で、組める人が限られる点も含めて考えたほうがよいです。

Q2. 無料のシフト表テンプレートはどこで手に入りますか?

マイクロソフトの公式のテンプレート集、シフト管理の道具を提供している会社が配っているもの、個人や事務所が配っているものの3つがあります。日本の勤務形態に合わせた自動計算まで入っているのは2つめが多いです。選ぶときは、期間の単位、休憩を差し引いているか、印刷が1枚に収まるかを確かめてください。

Q3. エクセルでシフトを管理するデメリットは何ですか?

同時に編集できないこと、配ったあとに複数の版ができること、変更の連絡が別作業として残ること、法定の条件を自動では警告しないことの4つです。特に負担が大きいのは連絡で、当日の欠勤が出るたびに表の修正と本人への連絡と他の人への周知が3つ別々に発生します。

Q4. シフト管理の道具に移るのはどのタイミングですか?

毎月の作成時間のうち、表を埋める時間が1時間未満で、希望の回収と連絡に2時間以上かかっているときです。この配分になっていると、表をどれだけ磨いても時間は減りません。逆に表を埋める時間が長い場合は、条件付き書式と入力規則を入れるだけで無料のまま短くできます。

ガイド一覧へ