今回は、EXCEL(エクセル)でシフト表を効率的に作成する方法と、便利なテンプレートの活用法について紹介します。
多くの企業や店舗では従業員のシフト管理に頭を悩ませているかと思いますが、Excelを活用することで簡単かつ効率的にシフト表を作成・管理することができます。
初心者でも使いやすい関数の活用法や、見やすいシフト表を作るためのデザインのコツなどを解説します。
シフト表の種類と特徴
シフト表にはいくつかの種類があり、用途に合わせて選ぶことが重要です。まずは代表的なシフト表の種類を見ていきましょう。
月間シフト表
1ヶ月単位で管理するシフト表で、「早番」「日勤」「遅番」「休み」などの勤務区分で管理します。月全体のシフトを組むときに適しており、従業員ごとの勤務パターンや出勤日数を一目で確認できます。小売店や飲食店など、月単位での人員配置を行う職場に向いています。
週間シフト表
1週間ごとのシフト管理に使用されるもので、「何曜日に何人勤務するか」「誰が何時から何時まで勤務するか」を確認するのに便利です。人員が不足しそうな曜日の傾向がわかりやすく表れるため、週単位での細かい調整が必要な職場に適しています。
タイムシフト(日別シフト表)
1日ごとの勤務時間を時間単位で管理するシフト表です。横軸に時間、縦軸に従業員名を配置し、勤務時間を横棒グラフで表示するガントチャート形式が一般的です。時間帯ごとの人員配置を細かく管理したい飲食店やサービス業に最適です。
Excelでシフト表を作成するメリットとデメリット
Excelでシフト表を作成することには様々なメリットとデメリットがあります。自社の状況に合わせて検討しましょう。
メリット
- 低コストで利用できる:多くの職場ですでに導入されているため、追加コストなしで利用できます。
- 自由度の高いカスタマイズ:関数やマクロを活用し、自社のニーズに合わせたシフト表を作成できます。勤務時間帯や休憩時間、休日設定など様々な要素を自由に設定可能です。
- 自動計算機能:関数を使えば勤務時間や出勤日数などを自動計算でき、人的ミスを減らせます。
デメリット
- 属人化のリスク:複雑なシフト表は、Excelに精通した人材に依存しがちです。その人が不在になると、シフト管理が困難になる可能性があります。
- ミスが発生しやすい:シフト表の更新や調整は手作業で行われるため、ミスが生じやすくなります。特に複雑な関数やマクロを使用している場合、小さなエラーが大きな問題を引き起こすこともあります。
- 管理が困難になる場合がある:従業員数の増加やシフトの複雑化に伴い、Excelでの管理が困難になる場合があります。
Excelでシフト表を作成する基本手順
Excelでシフト表を作成する基本的な手順を説明します。
1. シフト表のフレームを作成する
まずは表の大枠を作成します。必要な項目(従業員名、日付、曜日、勤務時間など)を配置し、見やすいレイアウトを考えましょう。セルの結合や罫線の設定を活用して、見やすい表に仕上げます。
2. 日付と曜日を自動入力する
シフト表には必ず日付を入力しますが、毎回手入力するのは非効率です。ここではDATE関数とWEEKDAY関数を使って自動入力する方法を紹介します。
【DATE関数で日付を自動入力する方法】
- A1に年(例:2025)、C1に月(例:7)を入力し、B1に「年」、D1に「月」と入力します。
- 日付を表示したいセル(例:E5)に「=DATE(A1,C1,1)」と入力すると、「2025/7/1」と表示されます。
- 次のセル(例:F5)に「=E5+1」と入力し、その後オートフィルで月末まで日付を埋めていきます。
【WEEKDAY関数で曜日を自動入力する方法】
- 日付の下のセル(例:E6)に「=WEEKDAY(E5,1)」と入力します。WEEKDAY関数の第1引数は参照する日付、第2引数は戻り値の種類を指定します。「1」を指定すると日曜日が1、月曜日が2、…、土曜日が7という数値で返されます。第2引数を省略した場合も同様の結果になります。
- 表示される数字を曜日表示に変更するには、セルの書式設定で「ユーザー定義」を選び、「aaa」と入力します。「aaa」は日本語の曜日の省略形(日、月、火など)、「aaaa」は曜日のフル表示(日曜日、月曜日など)になります。
- オートフィルで月末まで曜日を埋めていきます。
3. 従業員情報を入力する
従業員の名前や役割・勤務区分などを入力します。プルダウンリストを使って、出勤区分(早番、日勤、遅番など)を選べるようにすると便利です。
【プルダウンリストの作成方法】
- 同じシートの空いている場所(例:Z1:Z4)に勤務区分(早番、日勤、遅番、休みなど)を入力します。別シートに入力しても構いません。
- プルダウンリストを設定したいセル範囲を選択し、「データ」タブの「データの入力規則」をクリックします。
- 「設定」タブで「リスト」を選び、「元の値」に勤務区分を入力したセル範囲(例:=$Z$1:$Z$4)を指定します。セル範囲は直接入力するか、セル選択ボタンをクリックして範囲を選択します。
- 「OK」をクリックすると、選択したセル範囲にプルダウンリストが設定されます。
4. 自動計算機能を設定する
関数を使って、従業員ごとの出勤日数や時間帯別の稼働人数などを自動計算します。
※自動計算を設定した際は、最初と定期的に自動計算が合っているかを確認してください。
【COUNTIF関数で勤務区分ごとの人数を計算する方法】
- 例えば、7月1日の早番人数を知りたい場合、集計欄(例:E20)に「=COUNTIF(E10:E15,”早番”)」と入力します。E10:E15は従業員の勤務区分が入力されている範囲です。
- これにより、指定した日の早番の人数が自動的に計算されます。同様に、「日勤」「遅番」などの人数も計算できます。
【COUNTA関数で出勤日数を計算する方法】
- 従業員ごとの出勤日数を計算するセル(例:AG10)に「=COUNTA(E10:AF10)-COUNTIF(E10:AF10,”休”)」と入力します。E10:AF10は従業員の月間シフトが入力されている範囲です。
- これにより、「休」以外が入力されているセルの数(=出勤日数)が自動計算されます。
見やすいシフト表を作るためのデザインのコツ
シフト表は視認性が重要です。以下のポイントを押さえて、見やすいシフト表を作成しましょう。
1. 色分けを活用する
条件付き書式を使って、曜日や勤務区分ごとに色分けをすると視認性が高まります。
【曜日ごとの色分けの設定方法】
- 色分けしたい範囲(例:E5:AF15)を選択し、「ホーム」タブの「条件付き書式」から「新しいルール」をクリックします。
- 「新しい書式ルール」ダイアログで「数式を使用して、書式設定するセルを決定」を選択します。
- 「次の数式を満たす場合に値を書式設定」に「=WEEKDAY(E$5)=1」と入力します。これは日曜日(WEEKDAY関数の戻り値が1)のセルを条件にしています。E$5は日付が入力されているセルを参照しています。$を付けることで行が固定され、列は相対参照になります。
- 「書式」ボタンをクリックし、「塗りつぶし」タブで背景色を赤に設定します。
- 「OK」をクリックして設定を完了します。
- 同様に土曜日の設定も行います。条件式は「=WEEKDAY(E$5)=7」(土曜日はWEEKDAY関数の戻り値が7)とし、背景色を青に設定します。
【勤務区分ごとの色分けの設定方法】
- 色分けしたい範囲(例:E10:AF15)を選択し、「ホーム」タブの「条件付き書式」から「セルの強調表示ルール」→「文字列」を選びます。
- 「セルの内容が」ドロップダウンで「次の文字列を含む」を選び、テキストボックスに「早番」と入力します。
- 「次の書式で」の部分で、希望の色を選択し、「OK」をクリックします。
- 同様に「日勤」「遅番」などの勤務区分についても設定を行います。
2. フォントサイズや枠の大きさを調整する
従業員名や日付などの重要な情報は、フォントサイズを大きくしたり、セルを結合したりして目立たせましょう。
3. 印刷時のレイアウトを考慮する
シフト表は印刷して掲示することも多いため、印刷時のレイアウトも考慮しましょう。
【印刷用レイアウトの調整ポイント】
- 「ページレイアウト」タブで余白や用紙サイズを調整します。
- 「印刷プレビュー」で確認しながら調整を行います。
- 必要に応じてヘッダーやフッターを設定し、シフト表の管理をしやすくします。
便利なシフト表テンプレートの活用法
一から作成するのが難しい場合は、無料で公開されているテンプレートを活用すると良いでしょう。
テンプレートの入手方法
シフト表のテンプレートは以下のような方法で入手できます。
- Microsoft公式サイト:Officeテンプレートのページから無料でダウンロードできます。
- ビジネス向けテンプレートサイト:多くのビジネス向けサイトで無料テンプレートを提供しています。
- シフト管理ツール提供会社のサイト:シフト管理システムを提供している会社が無料テンプレートを公開していることもあります。
テンプレートのカスタマイズ方法
ダウンロードしたテンプレートは、自社の状況に合わせてカスタマイズすることで使いやすくなります。
【カスタマイズのポイント】
- 従業員数や勤務区分に合わせてセルの数や内容を調整します。
- 自社の勤務時間に合わせて時間帯を変更します。
- 必要に応じて集計項目(出勤日数、残業時間など)を追加します。
Excelで役立つ便利な関数
シフト表作成に役立つExcelの関数をいくつか紹介します。これらの関数を活用することで、シフト管理がさらに効率化できます。
DATE関数
日付を自動生成する関数です。「=DATE(年,月,日)」の形式で使用します。例えば「=DATE(2025,7,1)」と入力すると、2025年7月1日の日付が生成されます。
WEEKDAY関数
日付から曜日を求める関数です。「=WEEKDAY(日付, [種類])」の形式で使用します。第1引数には日付、第2引数には戻り値の種類を指定します。第2引数を省略するか1を指定すると、日曜日=1、月曜日=2、…、土曜日=7 という数値が返されます。2を指定すると月曜日=1、…、日曜日=7 という数値になります。
COUNTIF関数
条件に一致するセルの数をカウントする関数です。例えば「=COUNTIF(範囲,”早番”)」と入力すると、範囲内で「早番」と入力されているセルの数を数えます。複数の条件を指定する場合は、COUNTIFS関数を使用します。
COUNTA関数
空白でないセルの数をカウントする関数です。出勤日数のカウントなどに便利です。例えば「=COUNTA(E10:AF10)」とすると、E10からAF10までの範囲で空白でないセルの数をカウントします。
SUM関数
数値の合計を計算する関数です。勤務時間の合計や人件費の計算などに活用できます。例えば「=SUM(E20:AF20)」とすると、E20からAF20までの数値の合計が計算されます。
シフト表管理の自動化と効率化
より効率的にシフト管理を行うための方法を紹介します。
マクロの活用
繰り返し行う作業はマクロを使って自動化することで、作業時間を大幅に削減できます。
【マクロの基本的な使い方】
- 「開発」タブの「マクロの記録」をクリックします(「開発」タブがない場合はExcelのオプションで表示設定を変更)。
- マクロ名を入力し、「OK」をクリックします。
- 自動化したい操作を行います。
- 「マクロの停止」をクリックして記録を終了します。
- 次回から「マクロの実行」で同じ操作を自動実行できます。
条件付き書式の活用
条件付き書式を使って、特定の条件を満たすセルを自動的に色付けしたり、アイコンを表示したりすることで、視覚的に情報を把握しやすくなります。例えば、人員が不足している時間帯は赤色、十分な人員がいる時間帯は緑色というように色分けすることで、一目で状況を把握できます。
【条件付き書式で人員不足を視覚化する例】
- 時間帯ごとの人員数を計算しているセル範囲(例:E20:AF20)を選択します。
- 「ホーム」タブの「条件付き書式」から「セルの強調表示ルール」→「より小さい」を選びます。
- 「次の値より小さい」テキストボックスに必要最低人数(例:3)を入力し、色を赤に設定して「OK」をクリックします。
- 同様に、十分な人員がいる場合の条件も設定します。「条件付き書式」→「セルの強調表示ルール」→「より大きい」を選び、適切な値と色を設定します。
まとめ
当記事では、Excelを活用したシフト表の作成方法について紹介しました。DATE関数やWEEKDAY関数などの基本的な関数を使いこなすことで、効率的にシフト表を作成・管理することができます。また、条件付き書式やマクロを活用することで、さらに作業を効率化できます。
シフト表の作成に悩んでいる方は、まずは無料テンプレートを活用しながら、少しずつExcelの機能を覚えていくことをおすすめします。従業員数が多くなったり、シフトの管理が複雑になった場合は、専用のシフト管理システムの導入を検討してみると良いかもしれません。