メインコンテンツへスキップ
約15分で読めます

エクセルでシフト表を作る方法|初心者向け・無料テンプレート付き

エクセルでシフト表を作る方法。入力・集計・印刷までを紹介する表紙

エクセルの月間シフト表は、縦にスタッフ名、横に日付を並べて作ります。 勤務欄は「早・遅・休」から選んで入力し、日付や出勤人数を数式で表示すれば、翌月の日付変更や人数の数え直しを減らせます。

以下の無料テンプレートには、5人分の勤務欄と日付・曜日・人数集計の数式を入れてあります。ダウンロードして使うほか、同じ表を一から作る手順も、入力・色分け・印刷の順に確認できます。

シフト表の無料テンプレートをダウンロード(Excel/.xlsx)

シフト表の無料テンプレートと使い方

配布ファイルには「シフト表」と「使い方」の2つのシートがあります。「シフト表」は2026年9月の記入例です。氏名と勤務内容は架空のため、自分の職場の内容へ置き換えて使います。マクロは使用していません。

操作説明はWindows版Excelのデスクトップアプリを基準にしています。Mac版やWeb版ではメニューの位置・名称が異なる場合があるため、各手順のMicrosoft公式資料も参照してください。

Excelで作るメリットは、使い慣れた表の形を保ちながら、日付の更新や人員の集計を関数に任せられることです。表のレイアウトも職場に合わせて変更できます。一方、誰をどの日に入れるかは担当者が調整します。まず基本の表を使い、勤務の入れ替えにどれだけ時間がかかるかを確かめましょう。

項目入力・表示するセル操作
年・月B2・D2年を4桁、月を1〜12の数字で入力
日付・曜日C4:AG5数式で自動表示
スタッフ名B7:B11氏名を入力
勤務区分C7:AG11早・遅・休から選択
勤務人数・必要人数・過不足13〜15行目必要人数だけ入力し、集計結果を確認
個人の出勤日数AH7:AH11数式で自動集計

C7:AG11 は「C列7行目からAG列11行目まで」という範囲です。Excelの数式バーの左側にある名前ボックスへこの範囲を入力してEnterキーを押すと、まとめて選択できます。

使い始めるときは、まず別名で保存します。B2・D2とスタッフ名を変更し、C7:AG11の勤務区分を消して入力し直してください。14行目の必要人数も職場に合わせて変更します。日付や集計の数式は残し、誰をいつ勤務させるかは、自分で決めて入力します。

手順1:勤務区分と必要人数を決める

セルへ入力する前に、勤務区分の書き方を揃えます。同じ早番を「早」「早番」「早出」と別々に入力すると、数式で正しく集計できなくなるためです。

勤務区分は、次の3つに揃えます。

入力する文字意味決めておくこと
早番開始・終了時刻、休憩の取り方
遅番開始・終了時刻、休憩の取り方
休み希望休と確定した休みをどう区別して管理するか

希望を集めている途中の表と、確定して配る表も区別します。ファイル名に「希望受付中」「調整中」「確定」と入れておけば、受け取ったスタッフも確定した予定かどうかを判断できます。

紙やメッセージで希望を集める場合は、誰が提出したかを確認し、変更分もExcelへ転記します。この回収と催促が毎月の負担なら、シフトラの希望収集・リマインド機能も使えます。LINE・メールで提出を依頼し、集まった希望をシフト作成の条件として扱えるので、回答を一人ずつ表へ写す作業を減らせます。

必要人数は日ごとに決めます。記入例では「3人」にしていますが、曜日、繁忙日、担当業務などに合わせて変更してください。早番と遅番にそれぞれ必要な人数がある職場では、合計人数に加えて勤務区分ごとの人数も確認します。

手順2:日付と曜日を自動で表示する

空のブックから作る場合は、B2に年、D2に月を入力し、4行目を日付、5行目を曜日に使います。B7:B11にはスタッフ名を並べます。テンプレートを使う場合は、設定済みの数式と照らし合わせて読んでください。

月の初日をDATE関数で作る

C4に次の式を入力します。

=DATE($B$2,$D$2,1)

B2が2026、D2が9なら、2026年9月1日を表す日付になります。$B$2のようなドル記号は、数式をコピーしても参照先を固定するためのものです。DATE関数は年・月・日から日付を作る関数です。Microsoft公式:DATE関数

日付を「1」「2」のように短く表示するには、C4:AG4を選択し、セルの書式設定で表示形式をユーザー定義のdにします。見た目は日だけでも、セルには年月日を含む日付が入っています。

翌日以降を右へコピーする

D4へ次の式を入力し、AG4まで右にコピーします。

=IF(C4="","",IF(MONTH(C4+1)=$D$2,C4+1,""))

この式は、左隣の日付に1日を足し、対象月の範囲内なら表示します。左隣が空欄、または翌月になった場合は空欄にします。そのため、9月の31日や2月の月末を超えた列を手で消す必要がありません。

コピーするには、セル右下の小さな四角を右へドラッグします。E4の数式を見ると、左隣を指す参照がC4からD4へ変わります。ドル記号を付けていない参照はコピー先に合わせて移動し、$D$2のように固定した参照は変わりません。

曜日も日付から表示する

C5に次の式を入力し、AG5まで右へコピーします。

=IF(C4="","",CHOOSE(WEEKDAY(C4),"日","月","火","水","木","金","土"))

WEEKDAYで得た曜日の番号に対応する「日〜土」を、CHOOSEで表示する式です。日付が空欄なら、曜日も表示しません。2026年9月1日は「火」になり、年・月を変えると曜日も変わります。Microsoft公式:WEEKDAY関数

年2026、月9を入力すると、1日が火曜日から始まるテンプレートの上部
配布ファイルの表示例。年と月を入力し、日付と曜日は数式で表示します。

日付や曜日を手で上書きすると、翌月へ変更したときにそのセルだけ更新されません。誤って消した場合は、元ファイルから該当する数式を戻してください。

手順3:プルダウンで勤務区分を入力する

勤務欄には、選択肢から値を選べるプルダウンを設定します。毎回文字を打たずに済み、「早」と「早番」のような表記の混在も防ぎやすくなります。Excelでは「データの入力規則」を使います。

  1. 勤務入力欄のC7:AG11を選択します。
  2. [データ]から[データの入力規則]を開きます。
  3. [入力値の種類]で[リスト]を選びます。
  4. [元の値]に早,遅,休と入力します。区切りは半角のカンマです。
  5. [ドロップダウンリストから選択する]を有効にして確定します。

設定後は、セルを選ぶと候補から勤務区分を選べます。リストにない文字の直接入力を止めたい場合は、同じ設定画面のエラーメッセージを有効にし、スタイルを[停止]にします。配布ファイルにも、この設定を入れています。Microsoft公式:ドロップダウンリストを作成する

AさんからEさんまでの勤務欄に早・遅・休を入力したテンプレートの表示例
勤務区分は3種類に統一。空欄は未入力として残し、休みが決まった日は「休」を選びます。

空欄を休みの代わりに使わないことも大切です。空欄を「まだ決まっていない」、休を「休みが決まった」として分けると、確定前の入力漏れを確認できます。

入力規則があっても、別のセルからの貼り付けなどで想定外の値が入ることがあります。勤務欄をコピーする場合は、入力規則や数式を壊していないかも確認してください。

手順4:COUNTIF関数で勤務人数を集計する

日ごとの出勤人数を数える

COUNTIF関数は、指定した範囲から条件に一致するセルを数えます。たとえばCOUNTIF(C7:C11,"早")なら、1日の勤務欄にある「早」の数です。Microsoft公式:COUNTIF関数の使い方

勤務人数は「早」と「遅」の件数を足します。C13には、次の式を入れてAG13まで右へコピーします。

=IF(C4="","",COUNTIF(C7:C11,"早")+COUNTIF(C7:C11,"遅"))

先頭のIFは、日付のない列に0を並べず、空欄にするための処理です。C7:C11に「早」が3つ、「遅」が1つなら、C13は4人になります。「休」と空欄は出勤人数に含みません。

17行目では早番、18行目では遅番、19行目では休みを別々に集計しています。合計人数が足りていても、遅番が0人なら閉店作業を担当できない、といった偏りを確認するためです。

必要人数との差を見る

C14:AG14に日ごとの必要人数を入力します。日付のない列は空欄のままにし、C15へ次の式を入れてAG15まで右へコピーします。

=IF(C4="","",IF(C14="","未設定",C13-C14))

計算は「勤務人数−必要人数」です。結果が-1なら1人不足、0なら設定した人数と一致、+1なら1人多い状態です。必要人数を空欄にした場合は「未設定」と表示します。

記入例の9月7日は、勤務人数2人に対して必要人数3人なので、過不足が-1になります。1人の「休」を「早」に変更すると、勤務人数は3人、過不足は0に変わります。

9月7日の勤務人数が2人、必要人数が3人で、過不足のマイナス1が赤く表示される例
勤務人数だけでなく、早番・遅番・未入力も確認します。7日は人数不足を確かめるための記入例です。

人数の集計は、その日に出勤する人数を表します。早番2人・遅番2人でも、同時に4人がいるとは限りません。時間帯ごとの必要人数、休憩、担当できる業務は、勤務の開始・終了時刻と合わせて確認します。

不足を埋めるたびに、別の日も直すことになる場合

たとえば不足する日にAさんを入れると、その人が5連勤になる。代わりにBさんを入れると、今度は別の日の遅番が足りなくなる。このテンプレートは不足人数を表示できますが、こうした入れ替えの組み合わせまでは探しません。人数が合った後も、連勤や担当できる仕事を確認する必要があります。

シフトラなら、必要人数に加えて「連勤は4日まで」「閉店作業ができる人を遅番に1人入れる」といったルールを登録し、希望と一緒にシフト案の作成条件にできます。赤い不足欄を一つずつ埋め直す負担が大きいときは、条件からシフトを自動作成する使い方を確認してみてください。

スタッフごとの出勤日数を数える

AH7では、Aさんの1か月の出勤日数を数えます。配布ファイルは、日付がない列を数えないように、複数条件を指定できるCOUNTIFS関数を使っています。

=COUNTIFS($C$4:$AG$4,">0",C7:AG7,"早")+COUNTIFS($C$4:$AG$4,">0",C7:AG7,"遅")

日付のある列の「早」「遅」だけを数える式です。AH11まで下へコピーすると、各スタッフを集計できます。勤務時間の長さは計算していないため、この結果から労働時間や給与は求められません。Microsoft公式:COUNTIFS関数

勤務欄の入力漏れを数える

20行目では、勤務欄に残った空欄をCOUNTBLANK関数で数えます。C20へ次の式を入れ、AG20まで右へコピーします。

=IF(C4="","",COUNTBLANK(C7:C11))

たとえば5人のうち1人だけ勤務区分が空欄なら、未入力は1になります。全員の勤務または休みを決めたら0になることを確認してください。スペースを入力したセルは空欄として数えられないため、勤務区分はプルダウンから選びます。Microsoft公式:COUNTBLANK関数

手順5:条件付き書式で色分けする

勤務区分を入力するたびに手で色を塗ると、勤務変更後に色だけ古いまま残ることがあります。条件付き書式を設定すると、入力値に応じて色が変わります。

C7:AG11を選び、[ホーム]→[条件付き書式]→[新しいルール]から、数式で書式設定するルールを作ります。早番用の数式は次のとおりです。

=C7="早"

塗りつぶしを薄い水色にし、適用先を=$C$7:$AG$11にします。同様に「遅」は薄い紫、「休」は薄い灰色に設定します。数式のC7は選択範囲の左上に合わせ、ここではドル記号で固定しません。セルごとに自分の勤務区分を判定させるためです。

人数不足はC15:AG15を選び、セルの値が0より小さいときに赤系の塗りつぶしを設定します。文字の「早・遅・休」と過不足の数値も残しておけば、白黒印刷でも意味を読み取れます。Microsoft公式:条件付き書式

テンプレートでは、日付のない列も灰色にしています。その列には勤務区分を入れません。

手順6:シフト表を横向きで印刷する

月間シフト表は横に長いため、印刷前に対象範囲と用紙の向きを設定します。配布ファイルでは「シフト表」のA1:AH26を印刷範囲にしています。

  1. A1:AH26を選択し、[ページレイアウト]→[印刷範囲]→[印刷範囲の設定]を選びます。
  2. 用紙サイズをA4、印刷の向きを横にします。
  3. 拡大縮小印刷で幅を1ページ、高さを自動にします。
  4. [ファイル]→[印刷]でプレビューを開きます。
  5. 月末の日付、氏名、出勤日数、勤務区分の説明が切れていないかを確認します。

幅を1ページにすると、列数に応じて文字も縮小されます。小さすぎる場合はA3にする、前半・後半に分けるなど、読める大きさを優先してください。Microsoft公式:ワークシートの拡大・縮小

スタッフが増えた場合、縦方向まで無理に1ページへ縮める必要はありません。複数ページになっても、氏名と日付を追いやすい状態にします。Mac版の印刷設定は、Microsoft公式のプリント手順でも確認できます。

翌月へのコピーと集計ミスの直し方

月が替わるときは、確定したファイルを残し、新しい月の作業用ファイルを複製します。たとえば2026-09_シフト表_確定.xlsx2026-10_シフト表_調整中.xlsxのように分けます。

複製後は、年・月を変更し、C7:AG11の勤務入力だけを消して再入力します。必要人数も新しい月に合わせて見直します。年・月を変えても、入力済みの勤務が新しい曜日へ自動で移動するわけではありません。

よく起きる問題は、次の箇所から確認します。

困ったこと確認する箇所
人数が合わない「早番」や空白付きの「早 」など、別の表記が混ざっていないか
式を入れても計算されない先頭に半角の=があるか、セルが文字列形式になっていないか
数字が更新されない[数式]の計算方法が手動になっていないか
日付が数値や#####になる日付の表示形式と列幅が適切か
人を追加したのに人数が増えない集計式の対象が7〜11行目のままになっていないか
勤務区分を追加したら集計から漏れる入力規則だけでなく、COUNTIF・COUNTIFSと色分けも更新したか

人数・勤務区分をカスタマイズする

スタッフを増やすときは、人数集計の行より上に行を追加し、式の参照範囲を確認します。勤務入力欄、プルダウン、色分け、個人の出勤日数、印刷範囲も合わせて広げてください。追加したスタッフに1日だけ勤務を入れ、勤務人数と個人の出勤日数がそれぞれ1増えることを確かめます。

勤務区分に「日」を追加する場合も、プルダウンだけ変えて終わりにはできません。このテンプレートの出勤人数・日数は「早」「遅」を数えるため、そのままでは「日」が集計から漏れます。変更する箇所を、次の順に確認します。

  1. 勤務区分の説明に「日」の開始・終了時刻を記載し、入力規則の候補へ追加する。
  2. 日ごとの勤務人数と、個人の出勤日数の式に「日」の件数を加える。
  3. 必要に応じて「日」だけを数える集計欄と、条件付き書式を設定する。
  4. 1人の「休」を「日」に変え、人数・日数・過不足が更新されることを確認する。

元のテンプレートを残し、作業用のコピーで試すと、式が分からなくなった場合に照合できます。

確定版を共有し、勤務実績とは分けて扱う

確定前には、未入力が残っていないこと、必要人数と勤務区分ごとの配置、個人の出勤日数を確認します。休憩や連続勤務などの条件は、このテンプレートでは判定していません。職場のルールに照らして別に確認したうえで配布します。

共有時には対象月と版が分かるファイル名を付け、修正が出たら「どの日を変更したか」も伝えます。複数の担当者が別々のファイルを直すと最新版が分かりにくくなるため、誰が更新して配布するかを決めておきます。

ここで作るシフト表は勤務の予定です。実際の出退勤や休憩を記録する勤怠表とは役割が異なります。遅刻・残業・欠勤などがあっても、この表の出勤日数だけでは実績を把握できません。勤怠管理に使う記録と照合し、予定をそのまま実績として扱わないようにしてください。

毎月のシフトの組み直しに時間がかかるときは

毎月の作業を振り返るときは、表の見た目を整える時間と、誰をいつ入れるか考える時間を分けてみてください。日付や集計を自動化しても、割り当てと手直しに時間が残るなら、次に見直すのはその部分です。

Excel内で割り当ても試すなら、休み希望を反映して勤務表を自動作成するテンプレートを使えます。文章で条件を伝える方法は、AIでシフトを作成する手順と確認項目で、人数・連勤を検算する例とともに紹介しています。

シフトラでは、既存Excelを解析して従業員・勤務区分・ルールの下書きを取り込み、確認して保存できます。設定した条件からシフト案を作成し、確認・確定後は使っているExcel帳票へ出力できます。スタッフに配る表の書式を保ちながら、作成側の手間を減らす方法として検討できます。

取り込んだ下書きと帳票の対応可否は初回に確認します。シフトラの機能と導入の流れを見ながら、今のExcelを残せる範囲を確かめてみてください。

よくある質問

2月や、31日がない月にも使えますか?
年と月を変更すると、その月の日付と曜日を表示し、月末を超えた列は空欄になります。勤務入力はそのまま残るため、月を変えるときは勤務欄を消して再入力してください。
スタッフの希望を入れると、シフトを自動で組めますか?
このテンプレートでは勤務の割り当ては手入力です。数式は、入力した勤務の人数・日数や必要人数との差を集計します。希望や条件から勤務を割り当てる機能はありません。
夜勤や労働時間の計算にも対応していますか?
このテンプレートは早番・遅番・休みの日単位の集計用です。日付をまたぐ夜勤、休憩、労働時間、給与の計算には対応していません。必要な場合は、開始・終了時刻や休憩時間を扱う別の設計が必要です。

シフト作成を担当している方へ

シフト作成を、ことばで伝えるだけに。

株式会社amsのシフトラは、「Aさんは日曜休み」のような自然な日本語の条件をAIが理解し、現場のルールと希望を反映したシフト案を自動生成するサービスです。

  • 自然なことばで条件を入力
  • 既存のExcelシフト表をそのまま取り込み
  • 人件費を日次・週次・月次で自動集計

シフトの最終確定と労務上の判断は事業者が行います。就業規則・労使協定への適合は導入前に確認します。

機能・料金・導入の流れを見る 資料を請求する
目次