エクセルのシフト表(無料テンプレート)
※写真はイメージです
先に結論
シフト表は、「年と月を入れると日付と曜日が並ぶ」「記号(早・遅・通・休)をプルダウンで選ぶ」「人数と時間はCOUNTIFで数える」の3つでできています。このテンプレートは、上の年と月を変えるだけで1か月分が作り直せて、右に一人ずつの出勤日数と勤務時間、下に日ごとの人数が自動で出ます。人が足りない日は赤くなるので、組んだあとに見落としがないかも一目で分かります。
シフト表テンプレート(shift.xlsx)をダウンロード(無料・登録なし)
テンプレートの中身
| どこ | 書くもの | 自動で出るもの |
|---|---|---|
| いちばん上 | 年・月・1日に必要な人数 | 1〜31日の日付と曜日(その月にない日は空欄) |
| スタッフの行 | 名前と、日ごとの記号(プルダウン) | 右に出勤日数と勤務時間 |
| 下の集計 | — | 日ごとの早番・遅番・通しの人数。必要な人数に足りない日は赤 |
| 「区分」のシート | 記号ごとの時間(最初に1回) | — |
中で使っている関数
| どこ | 式 | やっていること |
|---|---|---|
| 日付 | =IF(列の番号>その月の日数,"",DATE(年,月,列の番号)) | 31日まで並べて、ない日は空欄(2月なら29〜31日が空く) |
| 曜日 | =TEXT(日付,"aaa") | 月・火…と出す |
| 日ごとの人数 | =COUNTIF(その日の列,"早") | その日に「早」と書いた人の数 |
| 出勤日数 | =COUNTIF(その人の行,"早")+COUNTIF(…,"遅")+COUNTIF(…,"通") | 休以外の日の数 |
| 勤務時間 | =SUMPRODUCT(COUNTIF(その人の行,区分!A:A)*区分!E:E) | 記号ごとの回数×その記号の時間を足す |
自分の職場に合わせる
- 記号を変える・足す:「区分」のシートに行を足し、シフト表のプルダウンの候補(データ→データの入力規則)にも同じ記号を足します。
- 時間を変える:「区分」のシートの開始・終了・休憩を書き換えると、勤務時間も変わります。
- 人を増やす:スタッフの行は20人分あります。足りなければ行をコピーして挿入します。
- 必要な人数:いちばん上の「1日に必要な人数」を変えると、赤くなる日が変わります。
希望休を先に集めて書いておき、そのあと埋めていく順番がいちばん早いです。全員の希望を一度に聞くより、休みだけ先に出してもらうほうが組みやすいので。
うまくいかないとき
1人数が0のまま
記号が全角・半角や、前後の空白で違う文字になっています。
直し方プルダウンから選び直します。手で打たないのが確実です。
2勤務時間が合わない
「区分」のシートの時間に、休憩を引いていないか、記号が足りていません。
直し方「区分」の時間を確かめ、新しい記号は「区分」にも足します。
3月を変えたら色がずれた
古いファイルで、色を手で塗っていた場合です。
直し方このテンプレートは条件付き書式で色を付けているので、月を変えても曜日に合わせて動きます。
よくある質問
エクセルでシフト表を作るには?
年と月から日付と曜日を出し、記号をプルダウンで選べるようにして、COUNTIFで日ごとの人数や一人ずつの出勤日数を数えます。
シフト表のテンプレートは無料ですか?
はい。このページのファイルは無料で、登録もいりません。
シフト表で人数を数えるには?
=COUNTIF(その日の列,"早") のように、記号ごとに数えます。
勤務時間を自動で計算するには?
記号ごとの時間の表を作り、=SUMPRODUCT(COUNTIF(その人の行,記号の一覧)*時間の一覧) で足します。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報