エクセル初心者ならシフト表のテンプレートが最適
エクセルに詳しい人ならまっさらな状態から関数を使ってシフト表を作れます。しかし、エクセルに慣れていない方や今すぐ作成したいという場合は、Webで公開されているシフト表のテンプレートをダウンロードして使うとよいでしょう。テンプレートならレイアウトや項目を考える必要はなく、誰でも簡単にシフト表を作成できます。
また、エクセルの操作が得意な方はテンプレートに関数を付け加え、自身の使いやすいようアレンジするのが効率的でしょう。勤怠管理や給与計算が同時に行えるシフト表ができます。まずは自社の特徴にあったシフト表のテンプレートを探し、ダウンロードしてみてください。
エクセルを使うのも一つの方法ですが、もし「もっと簡単にできたら…」と感じていたら、無料ツールを試してみるのもおすすめです。以下の記事では迷っている方のために、無料で使えるシフト管理ツールもご紹介しています。必要に応じて比較してみてください。
エクセルで作成できるシフト表の種類
一概にシフト表といっても、シフトの形態に応じてさまざまなテンプレートがあります。ここからはテンプレートとして配布されているシフト表の種類を説明していきます。

シフト表1.タイムシフト
タイムシフトとは、名前のとおり、その日の営業に必要な人員が記載されているシフト表です。1日ごとの内容を記載し、毎日交換するタイプのものです。この種類のシフト表に必要な基本項目は次のとおりです。
- ●雇用形態
- ●名前
- ●役割
- ●勤務時間
- ●合計時間
一般的には横軸に時間が記載されており、縦軸には従業員の名前を入力します。そして該当する勤務時間分の横棒グラフを書き、見た目もわかりやすく表現します。
シフト表2.週間シフト
週間シフトは1週間のシフトが記載されたシフト表です。基本的にタイムシフトと必要な項目は変わりませんが、曜日ごとに誰がシフトにどれくらい入っているかを明確に示しています。
1週間の動きに合わせてシフトを確認できるため、急な欠員が発生しても、1週間のなかで調整可能です。また、曜日によってオペレーションが変わり、週ごとのシフトが決まっている業種ではタイムシフトよりも週間シフトを活用します。
シフト表3.月間シフト
月間シフトとはカレンダーのように、月の流れに合わせて使えるシフト表です。このシフト表は職場で共有するシフト表というよりは、個人で管理するシフト表として使うのが一般的です。
月間のカレンダーのようなイメージになるため、1日に使えるマスの大きさは小さく、詳細まで情報を表示できません。時間ではなく誰が出勤しているかを管理する場合に向いています。勤務開始時間と勤務終了時間が固定のワークスタイルだと使いやすいでしょう。
シフト表4.休暇管理シフト
休暇管理シフトは正社員などの休暇管理を行うときに使用するシフト表です。2019年4月から施行された働き方改革関連法により、有給休暇の取得が企業に義務づけられました。年10日以上の有給休暇が付与される従業員については、最低5日以上の有給取得を確実に行わせる必要があり、有給管理の需要が高まっています。
また、プロジェクトの進行中においても休暇の取得状況が進行スケジュールに影響を及ぼすこともあるため、正確な管理が重要です。
参考:年次有給休暇の時季指定 _ 働き方改革特設サイト|厚生労働省
エクセルでシフト管理表を作るデメリット
エクセルでシフト表を作ればコストは抑えられますが、以下のようなデメリットもあります。作成開始する前にチェックしておきましょう。
- ●関数の知識が必要で、作成者以外に引き継ぐのが難しい
- ●属人化しやすい
- ●管理やセキュリティ対策が必要
エクセルの関数を多く使うため、知識が必要になります。機能を詳細に入れるほど更新難易度も上がり、更なる知識を求められます。
関数の相関関係を理解している人でないと更新しにくいため、属人化しやすく、シフト表の更新や引継ぎ時に難易度が上がる可能性があります。
一つのファイルを適宜更新する形になるため、権限の無い方による改ざん防止策や、履歴の管理が別途必要になります。
「手間を減らしたい」「もっと簡単に管理したい」と感じたら、シフト管理システムを検討してみるタイミングかもしれません。初心者にもわかりやすくシステムの特徴や解決策を紹介しているページをご用意しています。
▼以下の画像リンクから詳細をご覧いただけます(問い合わせや資料請求も可能です)。

エクセル関数を使用したシフト表の作り方
ここからはエクセル関数を使った月間シフト表の作り方と作成時のコツを紹介します。順番に説明していくので、エクセルでシフト管理を行いたい方は参考にしてください。
1.DATE関数で日付を入力する
シフト表には必ず日付を入力します。毎回手入力だと非常に時間がかかるため、「DATE関数」を使用するとよいでしょう。「=DATE(年,月,日)」という規則で日付を自動入力できます。
DATE関数を利用する前の準備
月間シフト表の場合、「◯年◯月」といった形で年月をわかりやすく表示するのが一般的です。まずはエクセルのフォーマット上に、「年」と「月」を入力するスペースを用意しましょう。
例えば、エクセルのA1に「2020」、B1に「年」、C1に「4」、D1に「月」と入力します。セルの幅によっては少し文字間にすき間があくかもしれませんが、見た目は「2020年4月」と表示されます。
DATE関数の使い方
前準備を終えた段階で、日付を表示したいセルに「=DATE(A1,C1,1)」と入力すると、「2020/04/01」と表示されます。日付は表示された箇所から縦軸にも横軸にも伸ばせます。
横軸に日付を入力していきたい場合、「=DATE(A1,C1,1)」と入力したセルが「B2」だとすると、B2の隣のC2に「=B2+1」と打ち込むことで「2020/04/02」と表示されます。後はこの「=B2+1」と入力されたセルを選択し、AFまでドラッグすれば日付の入力が完了です。
このように関数を活用することで、「2020/04/01」から「2020/04/30」まで日付を短時間で入力できます。また、この日付の表示形式は「セルの書式設定」から変更でき、「2020/」の表示を省略可能です。

2.WEEKDAY関数で曜日を入力する
シフト表には日付とセットで曜日も入力します。DATE関数で日付を入力した後、その「年・月・日」の情報を利用して、「WEEKDAY関数」で簡単に曜日を表示できます。
先程の例であれば「B2」には「2020/04/01」と表示されているはずです。B3に「=WEEKDAY(B2)」と入力すると「4」と表示され、B3からAF3までをドラッグすると「1」から「7」までの数字が割り振られます。なお、「1」が日曜日を意味します。
この状態だとWEEKDAY関数で入力したセルにはまだ1~7の数字しか表示されていないため、B3からAF3までをドラッグして選択し、右クリックで「セルの書式設定」を行いましょう。「ユーザー定義」の種類に「aaa」と入力すると、数字が「月・火・水...」と変換されて表示されます。また、「ddd」と入力すれば英語の曜日も表示できます。

3.COUNTA関数で出勤日数を入力する
従業員が月に何日出勤するかを表示するためには「COUNTA関数」を使います。COUNTA関数は、文字や数字など、何らかの値が入力されているセルを自動的に数える関数です。上の図の場合、佐藤さんの出勤日数を調べるには、「=COUNTA(C4:AD4)」を出勤日数を表示させたいセル(図の場合だとB4)に入力すると、月間の出勤日数が自動計算されます。

4.COUNTIF関数で稼働人数を入力しよう
早番、遅番、日勤、夜勤などのシフト体制であれば、それぞれの時間帯ごとに稼働する人数をカウントし、人員の過不足を算出できます。カウントにはCOUNTIF関数「=COUNTIF(範囲,検索条件)」を使用しますが、まずはシフト表に「早番」「日勤」など従業員ごとにシフトを入力しましょう。
シフト区分を入力した列を範囲選択し、検索条件に「"早番"」と入力します。すると、指定の範囲内に「早番」と書かれたセルが何個あるか数えてくれます。これで指定した時間帯の稼働人数をカウントできます。例えば、上の画像で4月1日の早番人数を知りたいときはC15のセルに「=COUNTIF(C4:C14,"早番")」と入れます。

5.SUM関数でその日の出勤人数を入力する
指定した範囲内の数字を合計する関数は最も有名な「SUM関数」です。先程のCOUNTIF関数を使えば各時間帯の出勤人数を数えられ、その数字をSUM関数で合計することで、その日に出勤する人数を計算できます。また、シフト表の区分の表記の仕方によっては、従業員別の毎月の勤務時間の合計もSUM関数を使って出せます。

見やすいシフト表作成のコツ
基本的なシフト表の作り方がわかったところで、どうしたら見やすいシフト表が作れるかについて触れておきましょう。ポイントは、枠の大きさや色付けなどで、視認性の高いメリハリのあるシフト表を作ることです。
枠の大きさや文字の大きさは、実際にプレビュー画面などで確認しておく必要があります。壁に貼り出す場合は、大きな用紙を使うことも多いので、指定の用紙サイズに対して文字が小さくなってしまわないようにしましょう。
色付けは、勤務時間や休みなどルールに応じてピンポイントで活用すると、ぐっと見やすくなります。セルごとの指定もできますが、ホームメニューの「条件付き書式」で簡単に設定可能です。
- 1.シフト表の入力後、色分けしたい範囲を選択して「条件付き書式」をクリック
- 2.「セルの強調表示ルール」から「文字列…」を選ぶ
- 3.「新しい書式ルール」というポップアップ表示が出てくるので、例えば、「"遅番"と入力されたセルは文字の色を青にする」など、ルールを作成してOKをクリック
マクロを使用したシフト表作成
マクロとは、エクセルに標準搭載された単純作業を記憶して自動化する機能です。マクロを使用することで上記のような手順を自動化し、シフト表の作成を効率化することもできます。
しかし、マクロ(VBA)は、プログラミングの基礎知識が必要となるため、初心者には扱いにくい面があります。また、外部ファイル経由でマクロが悪用されるリスクもあるため、セキュリティ上の注意が必要です。このような点から、専門的な知識や技術がない場合にはエクセルでマクロを使用したシフト表作成は難しいといえるでしょう。
シフト表作成は「シフト管理システム」で簡単に解決
エクセルで作るシフト表は、一度フォーマットを作成してしまえば使い回しができ、月ごとの管理によってデータの蓄積も可能です。ただし、印刷や共有の手間、関数の知識が必要になる点など、管理を続けるうえで負担を感じるケースもあります。
そうした負担を感じるようであれば、シフト管理システムの導入も検討してみてはいかがでしょうか。シフト管理システムとは、シフトの作成・調整・申請・共有などを一括で行えるツールで、クラウド上での一元管理と業務の効率化を実現します。
とはいえ、「エクセルでも十分では?」と感じる方もいるかもしれません。実際、導入すべきかどうか、自社にあうのか迷うケースも少なくありません。
そのようなときは、無料診断ツールを使って、自社にあったシフト管理システムをチェックしてみてください。たった数問に答えるだけで、最適な選択肢をピックアップできます。導入するかどうかは診断後にゆっくり検討できるので、まずは気軽に試してみてください。
▶シフト管理・人員計画(WFM)システム おすすめ比較・無料診断
シフト希望の収集・調整もシステムで自動化
エクセルでは従業員から提出されたシフト希望を集計して表に転記する必要があり、過不足がないように手動で調整しなければなりません。一方で、シフト管理システムにはモバイル版がリリースされているものもあり、従業員がスマートフォンでシフト希望を提出するだけで、自動的にシフト表が作成されます。
また、シフト管理システムは勤怠管理や給与計算の機能が搭載された製品も多く、シフト表と連携して勤怠管理や給与計算まで効率化できる場合があります。
店舗間の調整や人員の過不足も見える化
シフト管理システムによっては、シフトの人数に過不足があるとアラート通知が出るものもあり、シフト作成だけでなく管理面でも心強いでしょう。さらに、複数店舗のシフト共有や管理も簡単に行え、店舗間をまたがった人員補充ができ、企業として効率的な人員配置を可能にします。
シフト管理システムで業務全体の効率化を図りたい方は、以下の記事で製品の比較を行っているのでぜひ参考にしてください。
ツールを活用して最適なシフト管理表を作ろう
エクセルでシフト表を作成している場合、無料のテンプレートや関数を活用することで、一定の効率化が図れます。ただし、従業員の人数が多い企業や、雇用形態が複雑な場合には、エクセルでは限界を感じる場面もあるかもしれません。そのようなケースでは、シフト管理システムの導入も選択肢の一つです。まずは、シフト表作成における自社の課題や、エクセルを使うメリット・デメリットを整理したうえで、最適な方法を検討してみてください。
「エクセルのままでいいか、システムに切り替えるべきか…」と迷っている方は、資料で情報を整理しながら、自社にあう方法を見つけていくのがおすすめです。まだ具体的な製品が決まっていなくても、資料を見れば比較の視点や必要な機能が明確になります。資料請求(無料)をぜひご活用ください。