guide
エクセルのシフト表の作り方|初心者がまず組む4ステップ
2026年9月30日・Rizaflow編集部
エクセルでシフト表を作ろうとして、最初の1行目から手が止まる。日付をどう並べるのか、記号をどう決めるのか、合計をどう出すのか。初心者がつまずくのは関数の難しさではなく、作る順番が分からないことにあります。この記事では、エクセルのシフト表の作り方を4つのステップに分け、日付と曜日を自動で出す方法、勤務記号の対応表の持ち方、時間帯ごとの人数が足りているかを色で見せる設定、合計の出し方までを順に解説します。あわせて、初心者がやりがちな失敗と、エクセルで管理する限界も整理します。
シフト表を作る前に決めておく5つのこと
表を書き始める前に決めておくことが5つあります。ここを飛ばして作り始めると、作り直しになります。
1つ目は、対象の期間です。1か月単位で1枚にするか、1週間ずつ作るか。人数が10名以下で勤務の形が安定しているなら1か月で足ります。当日の変更が多い業態なら1週間ごとのほうが扱いやすくなります。2つ目は、営業時間と時間帯の刻みです。10時から19時の営業なら、1時間ごとに区切るのか、30分ごとに区切るのか。細かくするほど正確になりますが、表が横に長くなって印刷が苦しくなります。
3つ目は、勤務の記号です。早番、遅番、通し、半日、休み、有給。これを「早」「遅」「通」「半」「休」「有」のように1文字か2文字に決めます。記号を短くするのは、表の幅を抑えるためと、入力を速くするためです。4つ目は、時間帯ごとに必要な人数です。開店直後は1名でよくても、夕方は2名必要という店は多く、この数字を先に決めておかないと、表ができたあとで足りているかを判断できません。5つ目は、締切と配布の方法です。希望をいつまでに出してもらい、確定した表をいつどう渡すか。ここが決まっていないと、作る側が毎月同じ確認に時間を使います。
この5つを紙に書き出してから、エクセルを開いてください。決めずに作り始めると、途中で列を挿入することになり、すでに書いた関数の参照がずれます。
初心者はテンプレートから始めてよい
関数に慣れていない段階では、配布されているシフト管理表のテンプレートを土台にする選択も現実的です。公開されている解説でも、その順番が勧められています。
エクセルに詳しい人ならまっさらな状態から関数を使ってシフト管理表を作れます。しかし、エクセルに慣れていない方や今すぐ作成したいという場合は、Webで公開されているシフト管理表のテンプレートをダウンロードして使うとよいでしょう。テンプレートならレイアウトや項目を考える必要はなく、誰でも簡単にシフト管理表を作成できます。 出典: it-trend.jp
ただし、そのまま使うと後で困る箇所が決まっています。直しておきたいのは3つです。1つ目は、時間帯の刻みが自分の営業時間に合っているか。2つ目は、勤務記号が自分の店の呼び方に合っているか。3つ目は、必要人数を書く行があるか。テンプレートには必要人数の行が無いことが多く、そのままだと「足りているか」を目で数える表になります。
テンプレートを選ぶときは、マクロが組み込まれていないものから試してください。マクロが入っていると便利ですが、中身を直せないと自分の店に合わせられません。この記事の後半で扱う設定は、どれも関数と条件付き書式だけで作れます。
ステップ1: 日付と曜日を自動で出す
ここから作り方の本体です。ステップ1は、横方向の日付です。
まず表の外、たとえば左上の空いているセルに「月の初日」を1つ入れます。2026年10月の表なら、そのセルに2026/10/1と入力します。次に、日付の行の先頭のセルで、そのセルを参照します。その右のセルは「左のセル+1」にします。あとは右へコピーするだけで、1日から31日までの日付が並びます。翌月の表を作るときは、左上の初日を書き換えるだけで全部の日付が動きます。この1手間で、毎月日付を打ち直す作業が消えます。
曜日は、日付の下の行にTEXT関数で出します。日付のセルを参照して、表示の形式を曜日の1文字にする指定を渡します。曜日を手で入力すると、月をまたいだときに必ずずれます。関数で出しておけば、日付が動けば曜日も動きます。
土日に色を付けるのは条件付き書式です。曜日の行を見て、土曜なら薄い青、日曜なら薄い赤という形で塗ります。祝日にも色を付けたい場合は、別のシートに祝日の一覧を作り、その一覧に日付が含まれているかを条件にします。祝日の一覧は毎年更新が必要なので、シートの名前を分かりやすくしておいてください。31日ない月に備えて、日付が翌月に入った列は薄い灰色で塗る条件も入れておくと、入力する場所を間違えません。
ステップ2: 従業員の行と勤務記号の入力
ステップ2は、縦方向です。日付の下に、従業員を1人1行で並べます。列は、氏名、雇用の形、契約している勤務時間、そのあとに日付の数だけセルが続きます。氏名の列は、画面を右にスクロールしても見えるように「ウィンドウ枠の固定」をかけておきます。これをやっていないと、月末の列を入力するときに誰の行か分からなくなります。
セルに入れるのは、先に決めた勤務記号です。ここで必ずやってほしいのが、入力規則のリスト化です。データの入力規則で、選べる記号をリストとして登録します。手で入力していると、「早」と「早番」と「A」が混ざり、集計したときに別のものとして数えられます。リストから選ぶ形にすれば、表記のゆれが構造的に起きません。
記号の意味は、表の下か別のシートに凡例として書きます。作った本人には自明でも、受け取る人には分かりません。「早=9:00-14:00」「遅=14:00-19:00」のように、時刻まで書いておいてください。
セルの結合は使わないでください。見た目を整えるために2つのセルを結合すると、並べ替えができなくなり、COUNTIFS関数の範囲指定も狂います。同じ見た目は、罫線と塗りつぶしで作れます。
ステップ3: 勤務記号と時間の対応表を持つ
ステップ3で、記号から実働時間を計算できるようにします。これがあると、あとの集計が一気に楽になります。
別のシートに、記号の対応表を作ります。列は、記号、開始時刻、終了時刻、休憩の時間、実働時間の5つです。実働時間は、終了から開始を引いて休憩を引いた値です。この表を作っておけば、シフト表の記号から実働時間をXLOOKUP関数かVLOOKUP関数で引けます。
対応表を持つ利点は2つあります。1つ目は、勤務の時間を変えたときに直す場所が1か所で済むことです。早番の終了を14時から15時に変えるとき、対応表の1行を直せば、過去も含めて全部の計算が変わります。2つ目は、記号を増やしやすいことです。「中番」を追加したいときは、対応表に1行追加して、入力規則のリストにも追加するだけです。
時刻を入れるときの注意が1つあります。セルの書式は必ず「時刻」にしてください。文字列で入れると、引き算ができません。また、深夜をまたぐ勤務がある場合は、終了時刻が開始時刻より小さくなるため、引き算の式にそのままだとマイナスが出ます。1日を足してから引く形にするか、翌日にまたぐ勤務だけ別の列で扱うか、どちらかの対処が必要です。
ステップ4: 人数の充足と合計を出す
ステップ4が、シフト表の価値を決める部分です。単に誰がいつ入るかを書いた表と、足りているかが分かる表では、使われ方がまったく違います。
まず、日ごとの出勤人数です。その日の列で、休みと有給を除いた記号の数をCOUNTIF関数で数えます。次に、時間帯ごとの人数です。対応表から、その記号がその時間帯を含むかどうかを判定する列を作っておけば、時間帯ごとの人数も数えられます。数えた結果を、先に決めた必要人数と比べます。足りない時間帯のセルを条件付き書式で赤くすれば、表を作りながら穴が見えます。
次に、個人ごとの合計です。ひとりの行で、勤務の記号の数を数えれば勤務日数、対応表から引いた実働時間を合計すれば月の実働時間が出ます。休みの日数と有給の日数も同じ要領です。契約している勤務時間の列と並べれば、契約より多いか少ないかがその場で分かります。
最後に、月の合計です。全員の実働時間を合計すると、人件費の見込みが出ます。ここまで作れば、シフトを組みながら「あと1人入れたら予算を超えるか」を判断できます。初心者向けの表としては、ここが到達点です。
シフト表で使う関数の早見表
初心者向けの解説では関数の名前がまとめて並ぶことが多く、どれを先に覚えればよいのかが分かりません。シフト表を回すのに実際に必要なのは、次の6つだけです。
| 関数 | 何をするもの | 表のどこで使うか |
|---|---|---|
| TEXT | 日付から曜日の文字を出す | 日付の下の曜日の行 |
| COUNTIF | 条件に合うセルの数を数える | 日ごとの出勤人数、個人の勤務日数 |
| COUNTIFS | 複数の条件でセルの数を数える | 時間帯ごとの出勤人数 |
| XLOOKUP | 対応表から値を引いてくる | 勤務記号から実働時間を引く |
| SUMIF | 条件に合う数値を合計する | 個人ごとの実働時間、月の人件費の見込み |
| IF | 条件で表示を分ける | 必要人数に足りない日の印 |
XLOOKUP は比較的新しい関数で、使っているエクセルのバージョンによっては入っていません。その場合は VLOOKUP で同じことができます。VLOOKUP は対応表の左端の列を探しにいく作りなので、対応表の1列目を勤務記号にしておく必要があります。この並び順を最初から守っておけば、どちらの関数でも同じ考え方で式が組めます。
覚える順番は、TEXT、COUNTIF、XLOOKUP の3つからです。この3つで、日付と曜日、人数の数え上げ、実働時間の引き当てが揃います。残りの3つは表を使いながら足していけば間に合います。関数を一度に覚えようとして手が止まるのが、初心者がいちばん時間を落とす場面です。動く表を先に作って、あとから精度を上げてください。
条件付き書式は関数ではありませんが、実務では関数より効きます。使いどころは3か所です。土日と祝日の列に色を付ける、必要人数に足りない時間帯のセルを赤くする、契約している勤務時間を超えた個人の合計を目立たせる。この3つを入れておけば、表を目で追わなくても直すべき場所が浮かび上がります。逆に、色を4種類以上使うと、どの色が何を意味するのか分からなくなります。意味を持たせる色は3種類までに抑えるのが無難です。
作り終えたあとに確かめる7つの点
4つのステップが終わったら、配る前に確かめてください。ここで見落とすと、翌月に作り直しになります。
1つ目、月の初日のセルを翌月に書き換えて、日付と曜日が正しく動くか。ここが動かないなら、日付を手で入力している箇所が残っています。2つ目、30日までの月と31日までの月の両方で、余った列の扱いが崩れないか。2月も試してください。3つ目、勤務記号をリストから選ぶ形になっているか。手で入力できる状態が残っていると、いずれ表記がゆれます。
4つ目、対応表の勤務時間を1行変えてみて、個人の実働時間の合計まで連動するか。連動しないなら、どこかに時間を直接打ち込んだセルがあります。5つ目、休みと有給が出勤人数に数えられていないか。ここは条件の書き方を間違えやすい場所です。6つ目、必要人数に足りない時間帯が赤くなるか。わざと1人減らして試すのが確実です。7つ目、印刷の見え方です。実際に1枚出して、氏名と日付が読める大きさになっているかを目で見てください。
この7つを通す時間は15分ほどです。1か月目に通しておけば、2か月目以降は初日のセルを書き換えるだけの作業になります。
有給と労働時間で気をつけておく点
シフト表を作る側として、押さえておきたい決まりがあります。厚生労働省は、年次有給休暇の付与について次のように示しています。
使用者は、労働者が(1)6ヶ月間継続勤務し、(2)その6ヶ月間の全労働日の8割以上を出勤した場合は、10日(継続または分割)の有給休暇を与えなければなりません。 出典: mhlw.go.jp
同じページには、6か月の継続勤務以降は継続勤務1年ごとに1日ずつ、継続勤務3年6か月以降は2日ずつ増やした日数を与えなければならないことも書かれています。最高は20日です。シフト表に有給の記号を用意しておく理由はここにあり、何日取得したかを記録できる形にしておく必要があります。
もう1点、シフト表と勤怠の記録は別物だということを分けて考えてください。シフト表は予定を示すもので、実際に働いた時間の記録ではありません。同じページでは、労働基準法により使用者は労働時間を適切に管理する責務を有するとされ、労働時間の適正な把握について具体的な措置を示したガイドラインが公開されていることも案内されています。シフト表をそのまま勤怠の記録として使ってよいかは、事業の形と管理の方法によって変わるため、ここでは断定できません。判断に迷う場合は、所轄の労働基準監督署や専門家に確認してください。
シフトの時間そのものについても、法定の労働時間や割増賃金、変形労働時間制の扱いなどルールが関わります。表の作り方の話とは別に、制度の側を確認したうえで組んでください。
印刷と配布でつまずく点
作った表が使われるかどうかは、配りやすさで決まります。つまずく点は3つあります。
1つ目は、1枚に収まらないことです。横に31日までの列があると、標準の設定では2枚3枚に分かれます。ページレイアウトの設定で、印刷の向きを横にして、「すべての列を1ページに印刷」の縮小設定を使います。それでも小さすぎて読めない場合は、前半と後半に分けて2枚にするほうが実用的です。印刷の範囲を明示的に設定して、余計な作業用の列が出ないようにもしてください。タイトル行の繰り返し印刷を設定すれば、2枚目にも氏名の列が出ます。
2つ目は、配る形式です。ファイルそのものを配ると、受け取った人が編集してしまい、どれが確定版か分からなくなります。PDFに書き出して配るのが安全です。3つ目は、版の管理です。確定したあとに変更が入ったとき、配り直すのか、変更だけを伝えるのかを決めておきます。ファイル名に日付を入れて複製を作る運用にすると、すぐにどれが最新か分からなくなります。同じファイルを更新し続け、表の中に「最終更新」の日付を1か所書くほうが混乱しません。貼り出す紙にも、その日付が印刷されるようにしておいてください。古い紙が残っていても、どちらが新しいかをその場で見分けられます。
希望シフトを集めて表に落とすまで
表の作り方が分かっても、毎月の手間の大半は希望を集める側に残ります。ここを決めておかないと、表そのものは30分で埋まるのに、やりとりに何日もかかります。
締切は、対象の月の前月に置きます。前月の20日を希望の締切にして、25日までに確定した表を配る形が、多くの店で扱いやすい区切りです。締切を月末に置くと確定が翌月に食い込み、スタッフが自分の予定を立てられません。締切を過ぎた希望をどう扱うかも、先に伝えておいてください。「締切を過ぎた分は反映できないことがある」と書いておくだけで、遅れは目に見えて減ります。
集める形は3つあります。1つ目は紙です。休みたい日に印を付けてもらう用紙を控室に貼る形で、確実ですが転記の作業が残ります。2つ目はメッセージです。手軽な反面、複数人からばらばらに届くため、あとで見返すのに向きません。誰の希望を反映し忘れたかを追えなくなるのが、この形のいちばんの弱点です。3つ目は、希望を書き込む表を1枚だけ共有する形です。全員が同じ1枚に書けば転記が消えます。作った表をクラウドに置いて共同編集にすれば、この形をエクセルのまま作れます。
希望が重なったときの決め方も、表を作る前に決めておく必要があります。先に出した人を通す形にすると、締切ぎりぎりに出す人がいつも損をして、不満がたまります。月ごとに優先の順番を回す、通院や行事の予定を先に通す、ひとりが希望できる休みの日数に上限を置く。どの形でもかまいませんが、決めて全員に伝えてください。判断の基準が見えないままだと、確定した表そのものへの不信になります。
確定したあとの変更は、必ず作る人を通す形にします。スタッフどうしで交代を決めて、表が直っていない状態が、いちばん事故につながります。交代が決まったら作る人へ連絡する、作る人が表を直して配り直す。この順番は崩さないでください。変更した日付と内容を表の脇に数行書き残しておくと、月末に振り返るときに、どの曜日で交代が起きやすいかが見えてきます。翌月の必要人数を見直す材料になります。
初心者がやりがちな5つの失敗
つまずき方には型があります。5つ挙げます。
1つ目、時間割の形で作ってしまうことです。縦に時刻、横に日付を並べて、該当する場所に名前を書く形。見た目は分かりやすいのですが、勤務日数や実働時間の集計ができません。1人1行の形にして、見やすさは条件付き書式で作ってください。2つ目、記号を手で入力することです。表記がゆれて集計が狂います。入力規則のリストから選ぶ形にします。3つ目、ファイルを複製することです。壊れるのが怖くて複製を作り、やがてどれが最新か分からなくなります。複製ではなく、変更の履歴が残る保存の方法を使ってください。
4つ目、セルを結合することです。見た目のためだけに結合すると、並べ替えと集計と関数の範囲指定が全部おかしくなります。5つ目、時刻を文字列で入れることです。書式が文字列のままだと引き算ができず、実働時間が出ません。この5つを避けるだけで、作り直しの回数は大きく減ります。
エクセルでシフトを管理するメリットとデメリット
ここまで作り方を書いてきましたが、エクセルで管理することの向き不向きも整理しておきます。
メリットは3つです。1つ目、費用がかからないこと。すでにあるソフトで始められます。2つ目、自由が利くこと。自分の店に必要な列だけを並べられ、他の管理表と組み合わせることもできます。3つ目、印刷が素直なこと。紙で貼り出す運用なら、これ以上に扱いやすいものはありません。
デメリットは5つあります。1つ目、同時に編集しにくいこと。共有フォルダに保存したファイルは、同時に開いた片方が読み取り専用になります。クラウドの共同編集を使えば同時に開けますが、誰がいつ何を直したかが追いにくくなります。2つ目、スマートフォンで見にくいこと。列の多い表を小さな画面で読むのは無理があり、出先での確認に向きません。3つ目、希望を集める手段が別に必要なこと。メッセージや紙で受け取った希望を、作る人が手で表へ転記することになります。4つ目、通知が出せないこと。確定した表を配ったことも、変更したことも、自分で連絡する必要があります。5つ目、勤怠の記録と二重になりやすいこと。予定と実績を別の場所で管理すると、突き合わせる作業が増えます。
人数が10名以下で、勤務の形が安定していて、紙で貼り出す運用なら、エクセルで十分に回ります。人数が増え、当日の交代が頻繁に起きるようになると、この5つのデメリットが効いてきます。
シフト表と予約の枠が別々になると起きること
予約を受けて施術やレッスンを行う店では、もう1つ問題が起きます。シフト表と予約の枠が別の場所にあると、噛み合わなくなるのです。
たとえば担当を指名して予約を受ける店では、「その担当がその時間に出勤しているか」が予約を受けられるかどうかを決めます。シフト表がエクセルにあり、予約の受付が別の場所にあると、この突き合わせを人がやることになります。シフトを変更したときに予約の受付側を直し忘れると、出勤していない人に予約が入ります。逆に、出勤しているのに予約を受け付けない時間ができることもあります。
この問題を根本から無くす方法は1つで、予約を受ける側がシフトを持つことです。担当ごとのシフトを登録しておけば、出勤している時間の中の空き枠だけがお客さまに表示されます。シフトを変えれば予約できる枠も自動で変わるため、突き合わせの作業が要りません。決済が必須でない業態に合わせて、予約の受付から次の来店までを一続きにしているタイプの予約システムなら、曜日ごとの基本のシフトと、個別の日の変更の両方を扱えるものがあります。スタッフ本人がログインして自分のシフトだけを直せる仕組みを持つものもあり、希望を集めて転記する作業がそこで消えます。標準でどこまでできるかはできることのページで機能の一覧を確かめてください。
自分の店に合うかを確かめる順番
エクセルを続けるか、予約とシフトを1か所にまとめるか。判断の材料を挙げます。
まず、担当を指名して予約を受けているかどうか。指名がないなら、シフト表と予約の枠を分けておいても大きな問題は起きません。次に、当日の交代がどれくらい起きるか。月に数回なら手で直せます。週に何度も起きるなら、突き合わせの作業が積み上がります。3つ目に、スタッフの人数です。ひとりで営んでいるならシフト表そのものが要りません。
まとめる方向に進む場合、料金の構成はサービスによって違います。複数のスタッフとシフトを扱えるプランは、ひとりで使うプランより上の段に置かれていることが多く、税込で月額7,700円という水準でスタッフ10名まで扱えるものもあります。月の予約件数の上限とスタッフ数の上限を必ず一緒に見てください。金額とプランの構成は変わるので、料金のような料金表で実際の値を確かめます。他社と比べるときは、条件をそろえないと判断を誤ります。他社との比較のように、いつ時点の公開情報かを明記した表を見ると、スタッフ登録数の上限やリマインダーがどのプランから使えるかを同じ条件で並べられます。
実際の画面が自分の店の運用に合うかは、触ってみるのが確実です。ログインなしで管理画面と予約ページの両方を確かめられるデモを見るのようなページがあれば、シフトの登録の手順を試せます。自分の業種でどういう使い方になるかは業種ごとの使い方のページで見当が付きます。契約と解約の条件、データの取り扱いで引っかかりやすい点はよくある質問のようなページで先に読んでおくと安心できます。
エクセルのシフト表は、日付と曜日を自動にして、勤務記号をリストから選ぶ形にして、記号から実働時間を引ける対応表を持たせる。この3つを押さえるだけで、初心者でも実用に足る表になります。そこから先、人数が増えて当日の交代が増えたときに、予約と1か所にまとめるかを考えてください。
Q1. エクセルのシフト表は、初心者でもどれくらいで作れますか?
決めごとの整理に30分、表の作成に1時間から2時間が目安です。先に対象の期間、営業時間と時間帯の刻み、勤務記号、時間帯ごとの必要人数、締切と配布の方法の5つを決めてから作り始めてください。関数に慣れていない段階では、公開されているテンプレートを土台にして、必要人数の行と自分の店の勤務記号だけを直す進め方が早道です。
Q2. 日付と曜日を毎月打ち直さずに済ませる方法はありますか?
表の外に月の初日を1つ入れて、日付の行はそのセルを参照し、右のセルは左のセル+1にします。曜日はTEXT関数で日付から出します。この形にすると、翌月の表は初日を書き換えるだけで日付と曜日が全部動きます。土日の色は条件付き書式で、祝日は別のシートに一覧を作って参照してください。
Q3. シフト表で人数が足りているかを自動で見る方法はありますか?
時間帯ごとに必要な人数を先に決めて、表の下に行として書いておきます。勤務記号の対応表にその記号がどの時間帯を含むかの判定を持たせておけば、COUNTIFS関数で時間帯ごとの出勤人数を数えられます。必要人数を下回った時間帯のセルを条件付き書式で赤くすると、表を作りながら穴が見えます。
Q4. シフト表をそのまま勤怠の記録として使ってよいですか?
シフト表は予定を示すもので、実際に働いた時間の記録とは別物です。厚生労働省は、労働基準法により使用者は労働時間を適切に管理する責務を有するとし、労働時間の適正な把握について具体的な措置を示したガイドラインを公開しています。シフト表を記録として扱ってよいかは事業の形と管理の方法によって変わるため、所轄の労働基準監督署や専門家に確認してください。