- 公開日:
エクセルでのシフト表の作り方(初心者向け)
エクセルを使用してシフト表を作成することで、従業員の勤務時間や休日を効果的に管理することができます。
この記事では、初心者向けにエクセルでのシフト表の作り方を解説しますので、ぜひ参考にしてみてください。
また、エクセルで使用できるシフト表のテンプレートもダウンロード可能なので、ご活用ください。
エクセルでのシフト表の作り方
エクセルでのシフト表の作り方をご紹介します。
個人の勤務時間を管理する月間シフト表
以下では、個人の出勤時間および退勤時間を管理し、月間稼働時間や残業時間を管理するシフト表を作成する場合を例にご説明します。

エクセルで、上記のようにシフト表の枠組みを作成します。
下記の記事では、エクセルの表に枠線を作成する様々な方法をご紹介しています。
プレゼン資料や報告書類などで表を用いる際には、ぜひ枠線を作成してみてください。

①シフト表の年を入力したセル(例:B3)を選択します。
②「ホーム」タブ、③「数値」の「表示形式」アイコンの順に選択します。

「セルの書式設定」ダイアログボックスが表示されます。
①「ユーザー定義」を選択し、②「種類」の入力フォームに「0"年"」と入力します。
③「OK」ボタンを押します。

赤矢印で示す通り、数値だけ入力しても「年」という単位が表示されます。
この設定を行うことで、単位を表示しつつ、セルの中身は数値のままにすることができるため、関数に組み込むことができます。
のちにご説明する「DATE関数」でシフト表の年月から日付や曜日を簡単に呼び出すことが可能になります。

「月」も同様の設定を行います。
①シフト表の月を入力したセル(例:C3)を選択します。
②「ホーム」タブ、③「数値」の「表示形式」アイコンの順に選択します。

「セルの書式設定」ダイアログボックスが表示されます。
①「ユーザー定義」を選択し、②「種類」の入力フォームに「0"月"」と入力します。
③「OK」ボタンを押します。

赤矢印で示す通り、数値だけ入力しても「月」という単位が表示されます。

日付を年月日の「日」だけ表示する設定に変更します。
①日付を表示させたいセル(例:B9)を選択します。
②「ホーム」タブ、③「数値」の「表示形式」アイコンの順に選択します。

「セルの書式設定」ダイアログボックスが表示されます。
①「分類」で「ユーザー定義」を選択し、②「種類」に「d」と入力します。
③「OK」ボタンを押します。

「DATE関数」でシフト表の日付を表示させます。DATE関数を使用することで、シフト表の日付を手入力する手間を省くことができます。
日付を表示させたいセル(例:B9)に「=DATE(B3,C3,1)」と入力し、Enterを押します。
DATE関数の書式は「=DATE(年,月,日)」となるため、上記のようにセルを当てはめていきます。
DATE関数の使い方はシンプルですが、数値の指定の仕方を工夫すれば日付の計算が便利になります。
下記の記事では、指定した数値を日付に変換するDATE関数をご紹介していますので、ぜひ参考にしてください。

DATE関数を入力した下のセル(例:B10)に「=B9+1」と入力し、Enterを押します。

①数式を入力したセル(例:B10)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

オートフィルでB列に数式を適用させることができました。

曜日を表示させたいセル(例:C9)に「=TEXT(B9,"aaa")」と入力し、Enterを押します。
TEXT関数は、表示形式コードを使用して数値に書式設定を適用します。数値の表示方法を変更することがで、数値をより読みやすい形式で表示します。
TEXT関数の書式は、「=TEXT(書式設定する値, "適用する表示形式コード")」となり、「aaa」は曜日を1文字で表す書式記号になります。

①関数を入力したセル(例:C9)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

オートフィルでC列にTEXT関数を適用させることができました。

次に休業日の行に色付けして一目で区別しやすい設定を行います。今回は「土曜」と「日曜」を休業日とする場合を例にご説明します。
休業日/営業日を表示させたいセル(例:D9)に「=IF(OR(C9="土",C9="日"),"休業日","営業日")」と入力し、Enterを押します。
IF関数とOR関数を組み合わせて、C列が「土曜」または「日曜」の場合は「休業日」、それ以外の場合は「営業日」と表示させる数式にしています。
下記の記事では、IF関数とOR関数を組み合わせた具体的な使用例を詳しく説明していますので、ぜひ参考にしてください。

①関数を入力したセル(例:D9)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

オートフィルでD列にIF関数とOR関数を適用させることができました。

関数で表示させた「休業日」「営業日」を基に、条件付き書式を使って行の色付けをします。
①シフト表の日付の範囲を選択します。
②「ホーム」タブ、③「条件付き書式」、④「新しいルール」の順に選択します。

「新しい書式ルール」ダイアログボックスが表示されます。
①「ルールの種類」で「数式を使用して、書式設定するセルを決定」を選択します。
②数式の入力フォームに「=$D9="休業日"」と入力し、③「書式」ボタンを押します。

「セルの書式設定」ダイアログボックスが表示されます。
①「塗りつぶし」タブ、②任意の色(例:灰色)の順に選択し、③「OK」ボタンを押します。

再び「新しい書式ルール」ダイアログボックスが表示されるので、「OK」ボタンを押します。

休業日の行に色付けすることができました。

「開始時間」「終了時間」「休憩」にそれぞれ時間を入力していきます。
「勤怠」には、「有給休暇」や「午後出勤」などがあれば入力します。

下記の記事「稼働時間と法定外時間を計算する」で、勤務時間(例:I列、J列)を計算する方法をご紹介していますので、ぜひ参考にしてください。
日々の出勤時間と退勤時間を入力するだけで、効率的に勤務時間と法定外(残業)時間を算出することができます。
勤務体系が複数ある場合の月間シフト表
勤務体系が複数ある場合の月間シフト表の作り方は、以下のとおりです。個人ではなく社員全員のシフトを管理するシフトになります。

エクセルで、上記のようにシフト表の枠組みを作成します。
下記の記事では、エクセルの表に枠線を作成する様々な方法をご紹介しています。
プレゼン資料や報告書類などで表を用いる際には、ぜひ枠線を作成してみてください。

「勤務時間を入力する月間シフト表」セクションのSTEP 2~STEP 7を参考に、シフト年月の表示形式を変更します。

「勤務時間を入力する月間シフト表」セクションのSTEP 8~STEP 13を参考に、シフトの日付(例:C1:AF1)を表示させます。

「勤務時間を入力する月間シフト表」セクションのSTEP 14~STEP 16を参考に、シフトの日付(例:C3:AF3)を表示させます。

特定の曜日を休業日として列の色を変える設定を行います。
①条件付き書式を適用させたい範囲(例:C1:AF16)を選択します。
②「ホーム」タブ、③「条件付き書式」、④「新しいルール」の順に選択します。

「新しい書式」ダイアログボックスが表示されます。
①「ルールの種類」で「数式を使用して、書式設定するセルを決定」を選択します。
②「ルールの内容」に「=OR(C$3="土",C$3="日")」と入力し、③「書式」ボタンを押します。
上記の例は土日とも同じ色付けをする数式ですが、土日それぞれ別の色付けをしたい場合は「=C$3="日"」(土曜は「=C$3="土"」)と入力してそれぞれ以下の設定を行います。

「セルの書式設定」ダイアログボックスが表示されます。
①「塗りつぶし」タブ、②任意の色(例:橙色)の順に選択します。
③「OK」ボタンを押します。

再び「新しいルール」ダイアログボックスが表示されるので、「OK」ボタンを押します。

土日に列に色付けすることができました。

土日のほかに祝日や、会社独自の休日の列の色付けを行いたい場合は、以下の操作を行います。
表の任意の行(例:16行目)に「祝日」の項目を追加します。

①条件付き書式を適用させたい範囲(例:C1:AG16)を選択します。
②「ホーム」タブ、③「条件付き書式」、④「新しいルール」の順に選択します。

「新しい書式ルール」ダイアログボックスが表示されます。
①「ルールの種類」で「数式を使用して、書式設定するセルを決定」を選択します。
②数式の入力フォームに「=ISTEXT(C$16)」と入力し、③「書式」ボタンを押します。
ISTEXT 関数は、対象範囲がテキストかどうかを判定する関数です。祝日の行にテキストが入力されていれば色付けする設定にします。

「セルの書式設定」ダイアログボックスが表示されます。
①「塗りつぶし」タブ、②任意の色(例:薄水色)の順に選択し、③「OK」ボタンを押します。

再び「新しい書式ルール」ダイアログボックスが表示されるので、「OK」ボタンを押します。

祝日・社内休日の列に色付けすることができました。

シフトの選択リストを作成します。
①シフト表の勤務入力範囲(例:C4:AG15)を選択します。
②「データ」タブ、③「データの入力規則」アイコンの順に選択します。

「データの入力規則」ダイアログボックスが表示されます。
①「入力値の種類」で「リスト」を選択します。
②「元の値」に「A,B,C,休」と入力し、③「OK」ボタンを押します。

選択した範囲にシフトの選択リストが作成されました。
「逆三角形」のタブを選択すると、入力したリストが表示されるので、各セルでシフトを選択していきます。

社員ごとの出勤日数を算出します。
「出勤日数」のセル(例:B4)に「=COUNTIFS(C4:AG4,"<>休",C4:AG4,"<>")」と入力し、Enterを押します。
COUNTIFS関数で「休」と「空白」のセルを除いた数を算出します。COUNTIFS関数とは、指定した範囲の中で複数の検索条件に一致するセルがいくつあるかを求める関数です。
COUNTIFS関数を使えば特定の文字列や日付を含むセルの個数を数えたり、空白以外のセルの個数を数えたりできます。
以下の記事では、COUNTIFS関数の基本的な使い方をご紹介していますので、ぜひ参考にしてください。

①関数を入力したセル(例:B4)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

各社員の出勤日数を算出することができました。
エクセルのシフト表の無料テンプレート
下記の記事では、エクセルで自動作成するシフト表の無料テンプレートをご紹介しています。
シフト表作成は、早出/遅出、日勤/夜勤など様々な勤務形態を含める必要があるため手間がかかります。
自動作成できるエクセルテンプレートを使い、効率よくシフト表を作成しましょう。