シフト表は、Excelで十分に作れます。
スタッフと日付の表を作り、人数と勤務時間を関数で数えれば、配置と集計の作業はExcelの中で完結します。
それでも、Excelでのシフト管理がつらくなる店はあります。
つらさの原因は、関数の数ではなく、表の外に残る作業にあることが多いものです。
無料で使えるシフト表のテンプレート
この記事で説明する形のシフト表を、Excel形式で配布しています。
空の「シフト表」シートと、同じ式で埋めた「記入例」シートの2枚が入っています。
A1に対象月の1日を入れると、1行目に日付、2行目に曜日が入ります。
出勤人数と勤務時間を数える式、勤務記号のリスト、人数不足を赤くする設定は、最初から入れてあります。
シフト表の基本の形
月間のシフト表は、次の4ステップで作ります。
- A列にスタッフ名、B列に担当、C列からAG列に1日から31日を並べる(1行目に日付、2行目に曜日)
- 3行目から12行目の各セルに、勤務記号(早、遅、休)を入れる
- 13行目に必要人数、14行目から16行目に出勤人数と早番・遅番の人数の行を作る
- 右端のAH列に出勤日数、AI列に勤務時間の列を作る
完成形は次のようになります。
テンプレートの「記入例」シート(2026年7月)から、1日、2日、31日の列と、AさんとJさんの行を抜き出しました。
| A | B | C | D | … | AG | AH | AI | |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026年7月 | 1 | 2 | … | 31 | 出勤日数 | 勤務時間 | |
| 2 | 名前 | 担当 | 水 | 木 | … | 金 | ||
| 3 | Aさん | キッチン | 早 | 休 | … | 早 | 18 | 108 |
| … | … | … | … | … | … | … | … | … |
| 12 | Jさん | ホール | 休 | 休 | … | 遅 | 9 | 49 |
| 13 | 必要人数 | 3 | 3 | … | 3 | |||
| 14 | 出勤人数 | 3 | 2 | … | 4 | |||
| 15 | 早番の人数 | 2 | 1 | … | 2 | |||
| 16 | 遅番の人数 | 1 | 1 | … | 2 |
2日(木)は出勤人数の2人が必要人数の3人を下回るため、D14が赤く表示されます。
勤務記号は、「データの入力規則」でリストから選ぶ形にしておきます。
「早」と「早番」のような表記ゆれがあると、後で紹介するCOUNTIFで数え漏れが起きるためです。
A1の月から日付と曜日を式で出しておけば、翌月はシートをコピーしてA1を変えるだけで使えます。
人数と勤務時間を数える関数
よく使う関数は、次の4つです。
| 入れるセル | 数えたいもの | 式の例 |
|---|---|---|
| C14 | その日の出勤人数 | =COUNTA(C3:C12)-COUNTIF(C3:C12,"休") |
| C15 | その日の早番の人数 | =COUNTIF(C3:C12,"早") |
| AH3 | 1人の月の出勤日数 | =COUNTA(C3:AG3)-COUNTIF(C3:AG3,"休") |
| AI3 | 1人の月の勤務時間 | =COUNTIF(C3:AG3,"早")*6+COUNTIF(C3:AG3,"遅")*5 |
C14とC15の式は右へ、AH3とAI3の式は下へコピーすると、ほかの日とスタッフの分も数えられます。
16行目の遅番の人数は、C15の式の「早」を「遅」に変えて作ります。
勤務時間の式は、早番を6時間、遅番を5時間として数えているので、店の勤務時間に合わせて6と5を書き換えます。
人数不足は、条件付き書式で色を付けます。
C14からAG14を選び、「数式を使用して、書式設定するセルを決定」で =C14<C13 を指定すると、出勤人数が必要人数を下回る日だけ赤くできます。
開始と終了の時刻から勤務時間を出す場合
勤務記号の代わりに時刻で勤務を記録する表では、開始、終了、休憩を別々の列に入れて計算します。
上のシフト表とは別に、1人1日を1行にした次のような表を作ります。
| 列 | D | E | F | G |
|---|---|---|---|---|
| 内容 | 開始 | 終了 | 休憩 | 勤務時間 |
| 3行目の例 | 10:00 | 16:30 | 0:45 | =(E3-D3-F3)*24(5.75) |
Excelの時刻は1日を1とした小数なので、24を掛けると「5.75」のような時間数になります。
結果が「18:00」のような時刻の形で表示されたら、G列の表示形式を「数値」に変えます。
夜勤のように日付をまたぐ勤務では、=(MOD(E3-D3,1)-F3)*24 のように MOD を使うと、終了時刻が開始時刻より小さくても計算できます。
表の外に残る3つの作業
関数を整えても短くならない作業があります。
- 希望の転記:紙、LINE、口頭で届いた希望を、誰かが表へ写す
- 未提出者への催促:誰が出していないかを名簿と見比べ、個別に連絡する
- 最新版の共有:変更のたびに画像やファイルを送り直し、どれが最新かの確認が増える
どれも、表の中ではなく、スタッフとのやりとりで起きる作業です。
関数やマクロを増やしても、スタッフの希望は表へ届きません。
最新版の共有だけが問題なら、Googleスプレッドシートへ移し、閲覧用のURLを1つに決める方法があります。
ここで紹介した関数は、スプレッドシートでもそのまま使えます。
見直しを考える目安
次のどれかが続くなら、表の外の作業を別の仕組みに任せる時期です。
- 転記と催促に、毎月1時間以上かかっている
- 「最新のシフトはどれ?」という確認が、月に何度も来る
- 関数や色分けの意味が分かるのが、作った本人だけになっている
見直すときに、Excelを捨てる必要はありません。
たとえばシフトリでは、スタッフがLINEやメールで届いたリンクから希望を提出し、提出状況と希望をシフト表の画面で確認できます。
確定したシフトはPDFやExcelで出力できるため、給与計算などでExcelの表を使っている場合も、その表を残したまま、転記と催促と共有の部分だけを移せます。
次のシフト表を作る前に
次の募集では、表を作る時間と、転記、催促、送り直しにかかった時間を分けて記録してみてください。
時間の多くが表の外にあるなら、関数を増やすより、その部分の受け方を変えるほうが作業は減ります。




