
エクセル(Excel)でシフト管理表を作成するには、日付・曜日の設定、COUNTA/COUNTIF関数による集計、条件付き書式の活用の3ステップが基本です。この記事では、シフト表の種類ごとの特徴、作成手順、よく使う関数、印刷・時間管理の応用テクニックまでを順に解説します。手書き管理からエクセルへの移行を検討している担当者の方はぜひ参考にしてください。
シフト表作成を自動化したい方へ
- エクセルで作れるシフト表の種類は?
- エクセルでシフトを作るメリット・デメリットは?
- エクセルでシフト表を作成する手順
- シフト作成で使える便利な関数は?
- 勤務時間オーバーのセルに自動で色を付ける方法は?
- 年内に残り何時間シフトに入れるかを計算する方法は?
- シフト表の印刷時に特定の情報を非表示にする方法は?
- よくある質問
- まとめ
エクセルで作れるシフト表の種類は?
シフト管理表(シフト表)とは、従業員の出勤日・勤務時間帯をまとめて管理するための表です。エクセルでは主に以下の3種類を作成できます。
| シフトの種類 | 特徴 | 向いている業態 |
|---|---|---|
| タイムシフト | 横軸が時間、縦軸が従業員名。1日単位で人員配置を可視化 | 飲食・小売など毎日人員が変わる業態 |
| 週間シフト | 1週間分の出勤曜日と時間をまとめて管理 | 曜日ごとに特定の配置が必要な業態 |
| 月間シフト | カレンダー形式で出勤日を月単位で把握 | 勤務時間が固定されているスタッフ管理 |
タイムシフトは横棒グラフ的に勤務時間帯を表示するため、時間帯ごとの人員過不足が一目でわかります。月間シフトは主に出勤日の管理に使い、詳細な時間割は別途管理するケースが多いです。
エクセルでシフトを作るメリット・デメリットは?
エクセルでシフト管理表を作る前に、メリットとデメリットの両方を理解しておくことが重要です。
エクセルシフトのメリット
- 低コスト:多くの職場ですでに導入済みのため、追加費用なしで使い始められます。
- 操作が比較的シンプル:基本的な関数を覚えるだけで、すぐに作成を開始できます。
- 自由度の高いカスタマイズ:関数やマクロを使えば、自社のシフトルールに合わせた表を構築できます。
エクセルシフトのデメリット
| デメリット | 具体的なリスク |
|---|---|
| 属人化のリスク | エクセルに精通した担当者が不在になるとシフト管理が機能しなくなる |
| ミスが発生しやすい | 手作業での更新が多く、関数エラーが大きな問題につながりやすい |
| 複雑化すると管理困難 | 従業員数の増加・多様なシフトパターンへの対応が手作業では限界がある |
エクセルは「入力されたデータの集計・チェック」を得意としますが、「適切なシフトの自動作成」は得意ではありません。シフトパターンが複雑になるほど、手作業の負荷が増えます。
エクセルでシフト表を作成する手順
月間シフト表を例に、基本的な作成手順を解説します。関数を使いこなせれば、自社のルールに合わせた応用も可能です。

Step 1:横軸に日付・曜日を設定する
1行目に「年月」、2行目に「日付」、3行目に「曜日」を入力します。横軸で時間の流れを表すことで、スケジュールが直感的に把握できます。
Step 2:縦軸にメンバー名を入力する
4行目のA列に「名前」、B列に「出勤日数」の見出しを設けます。5行目以降のA列に従業員名を入力すると、誰がどのシフトかを一目で確認できる構造になります。
Step 3:勤務形態を入力して色分けする
各メンバーの勤務区分(早番・遅番・日勤・夜勤など)を日付に沿って入力します。略称と色分けを組み合わせると、シフト表の視認性が上がります。
▼ あわせて読みたい記事
シフト管理者・シフト勤務者におススメのシステム・アプリ
自動作成を特長とするシフト管理システム|導入する前に知っておくべきこと
シフト作成に特化したシフト管理システム比較|クラウドのメリットとは
シフト作成で使える便利な関数は?
シフト管理表でよく使われる関数を4つ紹介します。それぞれの役割を理解して組み合わせると、入力作業を大幅に効率化できます。

DATE関数:日付を自動生成する
=DATE(年, 月, 日)
指定した年月日から日付データを自動生成します。セルA1に「2024」、C1に「4」と入力し、日付セルに =DATE(A1,C1,1) と入力します。その隣のセルに =C2+1 と入力してオートフィルすれば、連続した日付を一括入力できます。
WEEKDAY関数:曜日を自動表示する
=WEEKDAY(日付, 戻り値の種類)
日付に対応する曜日を返します。戻り値の種類は「1」(日曜始まり)か「2」(月曜始まり)を指定します。書式設定のユーザー定義で「aaa」と設定すると「月・火・水…」と表示されます。
COUNTA関数:出勤日数を集計する
=COUNTA(集計したい範囲)
空白でないセルの数をカウントし、出勤日数を自動計算します。例:伊藤さんのシフトがC9〜I9に入力されている場合、B9に =COUNTA(C9:I9) と入力すると月間出勤日数が自動表示されます。
COUNTIF関数:勤務区分ごとの人数を集計する
=COUNTIF(集計したい範囲, 検索条件)
特定の条件に一致するセルの数を返します。4月1日の早番人数を求めたい場合は、C12に =COUNTIF(C5:C10,"早番") と入力すると自動で集計されます。シフト区分ごとの過不足確認に役立ちます。
▼ エクセルで作るシフト表については、以下の記事でも解説しています
【テンプレート無料提供】エクセルを使って自作!シフト表テンプレート化のコツ
【テンプレート無料提供】エクセルで作る!タイムスケジュール表テンプレート
勤務時間オーバーのセルに自動で色を付ける方法は?

条件付き書式を使うと、規定時間を超えた従業員のセルを自動で赤くできます。手順は以下のとおりです。
- A列に勤務開始時間、B列に勤務終了時間を入力します。
- C列に実際の勤務時間を計算します。時間差に24を掛ける必要があるため、C2の数式は
=(B2-A2)*24です。書式は「数値」または「標準」に設定してください。 - D列に各従業員の許容勤務時間を入力します。
- E列に
=C2-D2と入力して超過時間を表示させます。 - C列を選択し、「ホーム」→「条件付き書式」→「新しいルール」→「数式を使用して書式を決定するセルを選択する」を選びます。
- 条件に
=C2>D2と入力し、「書式」でセルの塗りつぶし色を赤に設定して保存します。
年内に残り何時間シフトに入れるかを計算する方法は?
年収上限や法定労働時間を超えないようにシフトを調整する場面で役立つ計算方法です。以下の4ステップで求められます。

Step 1:基本情報をセルに入力する
| セル | 内容 | 入力例 |
|---|---|---|
| A2 | 時給 | 1,000円 |
| B2 | 1日の労働時間 | 8時間 |
| C2 | 1日の収入額 | =A2*B2 |
| D2 | 上限年収額 | 1,030,000円 |
| E2 | 取得済み収入額 | 905,000円 |
Step 2:残り取得可能収入額を算出する
F2に =D2-E2 と入力します。上限年収から取得済み収入を差し引いた残額が表示されます。
Step 3:残りシフト可能日数を算出する
G2に =ROUNDDOWN(F2/C2, 0) と入力します。四捨五入ではなく切り捨て(ROUNDDOWN)を使うことで、誤差による年収上限オーバーを防げます。
Step 4:残りシフト時間数を算出する
H2に =G2*B2 と入力します。残り可能日数に1日の労働時間を掛けた値が、年内に入れる残り時間数です。
シフト表の印刷時に特定の情報を非表示にする方法は?

列・行ごと非表示にする場合:対象の列または行を右クリックして「非表示」を選ぶと、印刷時に除外されます。時給など列全体が対象であればこの方法が最もシンプルです。
特定のセルだけ非表示にする場合(条件付き書式を使う方法):
- 非表示にしたいセルに「※」を入力しておきます。
- 「条件付き書式」→「新しいルール」→「指定の文字を含む」で「※」を指定します。
- 「書式」タブでフォントの色をシートの背景色(白)と同じ色に設定します。
画面上は通常表示のまま、印刷時だけ文字が白く溶け込んで見えなくなります。印刷プレビューで事前に確認することを推奨します。
よくある質問
エクセルでシフト表を作成する手順を教えてください
基本手順は①横軸に日付・曜日を設定、②縦軸に従業員名を入力、③勤務区分を色分けして入力、の3ステップです。DATE関数で日付を自動生成、COUNTA関数で出勤日数を集計すると、入力作業を大幅に効率化できます。
エクセルのシフト表で使えるおすすめの関数は?
DATE関数(日付自動生成)・WEEKDAY関数(曜日表示)・COUNTA関数(出勤日数集計)・COUNTIF関数(勤務区分ごとの人数集計)の4つが基本です。これらを組み合わせるだけで、手入力の手間を大幅に削減できます。
エクセルのシフト管理のデメリットは何ですか?
主なデメリットは3点です。①エクセルに精通した担当者に依存する「属人化リスク」、②手作業が多く数式エラーが起きやすい「ミスの発生」、③従業員数増加やシフトの複雑化に対応しにくい「管理限界」です。シフト自動作成はエクセルの強みではないため、複雑な勤務形態には専用ツールの検討も有効です。
エクセルでシフトの月間勤務時間オーバーを自動検知する方法は?
条件付き書式で「=実績時間セル>許容時間セル」のルールを設定し、超過時にセルを赤く塗りつぶすよう設定します。勤務終了時間から開始時間を引く際は「=(終了-開始)*24」と24倍の計算が必要な点に注意してください。
エクセルのシフト表で印刷したくない情報を非表示にするには?
列・行単位なら右クリックで「非表示」が最も簡単です。「休み」など特定のセルだけ除外したい場合は、条件付き書式でフォント色を背景色(白)と同色に設定する方法が有効です。印刷プレビューで事前に確認することを推奨します。
まとめ:エクセルシフト表の活用と次のステップ
エクセルでシフト管理表を作るうえで、最も重要な3点をまとめます。
- DATE・COUNTA・COUNTIFの3関数が基本:これだけで日付自動生成・出勤日数集計・勤務区分集計が実現でき、手入力の手間を大幅に削減できます。
- 条件付き書式で「見える化」を徹底する:時間オーバーの警告表示・印刷除外など、視覚的な管理補助機能を活用することで運用ミスを減らせます。
- 複雑なシフトには専用ツールの検討を:エクセルは集計・チェックは得意ですが、適切なシフトの自動作成は不得意です。従業員数が増えたり、勤務パターンが複雑になったりした場合は、シフト自動作成ツールへの移行が効率化への近道です。
JRシステムが提供しているシフト作成・管理ツール「勤務シフト作成お助けマン」は、自動でシフト表を作成するクラウドサービスです。エクセルをベースにしているため、見た目や使い勝手はそのまま。エクセルのデータをコピー&ペーストできるため、これまでと同様のインターフェースで作業が可能です。
「勤務シフト作成お助けマン」には、早番・遅番・夜勤等の「1日1記号を割り当てるシフト表」を作成できる「勤務シフト作成お助けマンDay」と、10:00〜17:30等の「時間を割り当てるシフト表」を作成する「勤務シフト作成お助けマンTime」があります。作成したいシフト表に合わせてサービスを選べます。
本番利用時と同じ機能を2か月無料でトライアルできます。ぜひ、自社に合った方法でシフト表を作成・管理しましょう。









