エクセルで勤務予定を管理すると、担当者ごとの出勤日や時間帯、必要な人数をひと目で確認しにくいことがあります。
そこで役立つのが、日付を横軸、スタッフ名や業務を縦軸に配置して勤務時間を帯で表すガントチャート形式のシフト表です。
条件付き書式や数式を組み合わせれば、手入力の色付けを減らし、予定変更にも対応しやすい勤務表を作れます。
ガントチャート形式のシフト表は、勤務開始日と終了日を入力するだけで予定の重なりを見える化できる管理表です。
日付の見出しを横方向に並べ、開始日と終了日の範囲に条件付き書式で色を付ける方法が基本になります。
この記事では、勤務予定を見やすく共有できるエクセルのガントチャート式シフト表の作り方を、サンプルデータと数式を交えて解説します。
エクセルでガントチャートのシフト表を作る基本手順
| 氏名 | 開始日 | 終了日 | 4月1日 | 4月2日 | 4月3日 | 4月4日 |
|---|---|---|---|---|---|---|
| 佐藤 | 4月1日 | 4月3日 | ||||
| 鈴木 | 4月2日 | 4月4日 |
それではまず、勤務予定をガントチャート形式で見える化する基本手順について解説していきます。
作成の流れは、勤務データを縦方向に整理し、日付を横方向へ展開してから、開始日と終了日の間だけを自動着色する形です。
元になる勤務データは、1行目をヘッダーとして、氏名、開始日、終了日を同じ行にそろえて入力することが重要です。
途中に空白行や結合セルがあると、数式のコピーやフィルターが使いにくくなります。
勤務データの入力項目
最初に、A列へ氏名、B列へ勤務開始日、C列へ勤務終了日を入力します。
たとえばA1に氏名、B1に開始日、C1に終了日を設定し、2行目以降へスタッフごとの勤務予定を入力しましょう。
開始日と終了日は文字列ではなく、エクセルが日付として認識する形式で登録する必要があります。
セルを選択して数式バーを確認し、日付がシリアル値として扱われていれば、条件付き書式の比較が正しく機能します。
半日勤務や時間単位のシフトを扱う場合でも、まず日単位の表を完成させると構造を理解しやすくなります。
時間帯まで管理したいケースでは、後から列を増やして午前、午後、早番、遅番などの区分を加える方法が実用的です。
【操作のポイント】開始日と終了日は、表示形式だけを変更しても日付データそのものは変わりません。
日付見出しの横展開
次に、D1へシフト表を開始したい日付を入力します。
たとえば2026年4月1日から管理する場合は、D1へその日付を入力します。
E1には数式を入力し、右方向へオートフィルすると連続した日付を作成できます。
=D1+1
この数式は、左隣のセルの日付に1日を加える内容です。
日付は内部的に連続した数値で保存されているため、1を足すだけで翌日へ進みます。
表示形式をm/dやm月d日にすると、横幅を抑えながら見やすいスケジュール表になります。
土曜日と日曜日を見分けやすくしたいときは、曜日を別行に表示する方法も便利です。
たとえばD2へ曜日を表示するなら、TEXT関数を利用できます。
=TEXT(D1,”aaa”)
この式を右へコピーすると、月、火、水のように曜日が自動表示されます。
【操作のポイント】日付見出しは最初に作成期間より少し長めに並べると、急な勤務変更にも対応しやすくなります。
条件付き書式による勤務帯
ガントチャートの中心となるのが、開始日から終了日までのセルを自動で塗りつぶす条件付き書式です。
まずD2以降のカレンダー部分を選択し、ホームタブの条件付き書式から新しいルールを開きます。
数式を使用して、書式設定するセルを決定する項目を選び、次の数式を入力します。
=AND(D$1>=$B2,D$1<=$C2)
D$1は横方向に並んだ日付見出しを参照し、$B2と$C2は各スタッフの開始日と終了日を参照します。
列記号の前後に付けるドル記号によって、数式を広い範囲へ適用しても比較対象がずれません。
条件が真になったセルだけに塗りつぶしが反映されるため、開始日や終了日を変更すると勤務帯も自動で動きます。
色は担当区分ごとに変えてもよいですが、最初は同じ色で勤務期間を表すほうが表の意味を共有しやすいでしょう。
【操作のポイント】条件付き書式の適用先は、日付見出しを含めず、勤務データが入るセル範囲だけを指定します。
シフト表に必要な列と入力ルール
| 氏名 | 部署 | 開始日 | 終了日 | 勤務区分 | 備考 |
|---|---|---|---|---|---|
| 田中 | 販売 | 4月5日 | 4月9日 | 早番 | 開店担当 |
| 高橋 | 販売 | 4月5日 | 4月7日 | 遅番 | 閉店担当 |
続いては、変更に強いガントチャート式シフト表にするための列構成と入力ルールを確認していきます。
氏名と日付だけでも表は作れますが、勤務区分、部署、備考を整理すると、現場で必要な情報を一つの表にまとめられます。
基本列は氏名、開始日、終了日です。
運用に応じて部署、役割、勤務区分、連絡事項、休暇理由を追加すると、予定表と業務分担表を兼ねた実用的なシフト管理表になります。
氏名と部署の管理方法
氏名は表記ゆれが起きやすいため、入力規則のリストを設定すると安全です。
別シートにスタッフ名簿を用意し、その範囲を入力規則の元の値に指定すれば、プルダウンから選択できます。
同姓のスタッフがいる職場では、氏名だけでなく社員番号や所属部署を併記すると誤認を防げます。
部署別に行を並べる場合は、同じ部署のスタッフを連続させ、部署ごとに薄い罫線を入れると確認がスムーズです。
並べ替えを行う前に、ガントチャート部分を含めた表全体を対象にすることが大切です。
氏名列だけを並べ替えると、開始日や終了日との対応関係が崩れるおそれがあります。
【操作のポイント】スタッフ一覧は別シートで管理し、退職者や新規入社者の更新場所を一つに集約します。
勤務区分と色分けの設定
早番、遅番、夜勤、休み、有給休暇のように勤務区分が複数ある職場では、区分列を追加します。
条件付き書式を複数設定し、勤務期間の条件に加えて勤務区分も判定すると、区分別の色分けが可能です。
早番を緑、遅番を青、夜勤を紫、休みを灰色のように決めると、一覧性が高まります。
早番だけを塗りつぶす数式の例は次のとおりです。
=AND(D$1>=$C2,D$1<=$D2,$E2=”早番”)
この例では、C列を開始日、D列を終了日、E列を勤務区分として使用しています。
実際の表では、列の配置に合わせて参照先を変更してください。
色の意味を表の上部や別シートに凡例として残すと、初めて見る人も迷いません。
【操作のポイント】色は多くても四から五種類程度に抑え、文字色とのコントラストを確保します。
休みと希望休の記録方法
勤務予定だけでなく、休みや希望休も同じ表で確認したい場合があります。
休暇を1日単位で管理するなら、開始日と終了日に同じ日付を入れ、勤務区分を休みまたは有給に設定します。
連休の場合は開始日と終了日をそれぞれ入力すれば、休暇期間を帯で表示できます。
希望休と確定休を分けたいときは、申請状況という列を追加し、希望、承認、未調整などを入力する方法が有効です。
確定前の希望休は淡い色、確定した休みは濃い色にすると、調整が必要な箇所を探しやすくなります。
勤務表を配布する際は、個人情報や連絡先など、共有不要な列を表示しない配慮も必要です。
【操作のポイント】休暇の色と勤務の色を明確に分けると、必要人数が不足する日を早く見つけられます。
日付と曜日を見やすく整える表示形式
| 日付 | 曜日 | 表示形式 | 用途 |
|---|---|---|---|
| 2026/4/1 | 水 | m/d | 日付見出し |
| 2026/4/4 | 土 | aaa | 曜日行 |
続いては、横に長くなりやすいシフト表の日付と曜日を見やすく整える表示形式について確認していきます。
日付の表示をコンパクトにし、土日や祝日を判別しやすくすると、勤務予定の確認時間を短縮できます。
日付は入力値を変えずに表示形式だけをm/dへ変更すると、セル幅を抑えながら日付として計算できます。
曜日を別行に置く構成は、月をまたぐ長期のガントチャートでも読み取りやすい方法です。
日付表示のコンパクト化
日付見出しが2026年4月1日のように長い表示だと、列幅が広がり、横スクロールの負担が増えます。
日付セルを選択してセルの書式設定を開き、表示形式のユーザー定義でm/dを指定しましょう。
4月1日は4/1、4月10日は4/10と表示され、月替わりも分かりやすくなります。
月初だけ月を表示し、それ以外は日だけ表示したい場合は、表の構造を複雑にしすぎないよう注意が必要です。
見た目を整えることよりも、誰が見ても日付を間違えないことを優先しましょう。
【操作のポイント】列幅は日付の桁数に合わせて調整し、文字が切れないか印刷プレビューでも確認します。
土日を自動で塗り分ける条件付き書式
土曜日と日曜日の列に淡い色を付けると、週末の勤務体制を確認しやすくなります。
日付見出しを含むカレンダー範囲を選択し、条件付き書式で数式ルールを作成します。
土曜日を判定する式は次のとおりです。
=WEEKDAY(D$1,2)=6
WEEKDAY関数の第2引数に2を指定すると、月曜日が1、土曜日が6、日曜日が7になります。
日曜日用には、末尾の数値を7へ変更してください。
=WEEKDAY(D$1,2)=7
勤務帯の色よりも薄い背景色を土日へ設定すると、両方の情報を重ねても見分けやすくなります。
条件付き書式はルールの順序で見え方が変わるため、勤務帯のルールを土日の背景より優先させるとよいでしょう。
【操作のポイント】土日用の書式は塗りつぶしだけにし、フォント色まで変えすぎないほうが表が読みやすくなります。
月替わりと固定表示の工夫
月をまたぐシフト表では、月初の列を太い罫線で区切ると期間の境目が明確になります。
MONTH関数を使った条件付き書式で、前日の月と異なる列を判定することも可能です。
ただし、日付見出しの左側に前日が必要になるため、適用範囲の先頭列では別の書式設定が必要になります。
また、氏名列と開始日列を固定すると、右へスクロールしても誰の勤務予定か分からなくなる問題を防げます。
表示タブからウィンドウ枠の固定を選び、固定したい列の右隣のセルを起点に設定しましょう。
勤務者が多い表ほど、氏名列と日付見出しの固定表示が効果を発揮します。
【操作のポイント】固定表示は印刷設定とは別の機能なので、画面確認用と印刷用の両方を整えます。
勤務人数を確認する集計数式
| 日付 | 4月1日 | 4月2日 | 4月3日 | 4月4日 |
|---|---|---|---|---|
| 勤務人数 | 2人 | 3人 | 1人 | 2人 |
| 必要人数 | 2人 | 2人 | 2人 | 2人 |
続いては、日ごとの勤務人数を自動集計し、人員不足を見つける数式について確認していきます。
ガントチャートは予定を並べるだけでも便利ですが、各日に何人が勤務するかを数値で確認できると、シフト調整の精度が上がります。
勤務人数の集計にはCOUNTIFS関数を使うと、指定した日付が開始日から終了日の間にあるスタッフを数えられます。
必要人数と比較する行を作れば、不足する日を条件付き書式で警告表示できます。
COUNTIFS関数による在勤者数
開始日がB列、終了日がC列、日付見出しがD1にある場合、D列の日付に勤務する人数を数える数式は次のようになります。
=COUNTIFS($B$2:$B$100,”<=”&D$1,$C$2:$C$100,”>=”&D$1)
最初の条件は開始日が対象日以前であることです。
次の条件は終了日が対象日以後であることです。
この二つを満たす行だけが数えられるため、対象日を含む勤務期間のスタッフ数が求められます。
数式を人数集計行の最初のセルへ入力し、右方向へオートフィルすれば、各日付の人数を連続して計算できます。
参照範囲の行番号は、将来追加するスタッフ数を見込んで余裕を持たせると管理が楽になります。
【操作のポイント】開始日や終了日が空白の行を作る場合は、集計対象に不要なデータが混ざらないよう入力ルールを決めます。
必要人数との差分表示
勤務人数の下に必要人数の行を作り、さらに差分の行を追加すると、人員が足りない日を数値で判断できます。
勤務人数がD20、必要人数がD21にある場合、差分を表示する数式は次のとおりです。
=D20-D21
結果がマイナスなら人員不足、ゼロなら必要人数を満たしている状態、プラスなら余裕がある状態です。
マイナス値に赤い塗りつぶしを設定すると、調整が必要な日をすぐに発見できます。
部署ごとに必要人数が異なる場合は、部署別の集計表を別に作り、同じ考え方で比較します。
人員数だけでなく、資格保有者や責任者の配置も数値化すると、実務上の不足を把握しやすくなります。
【操作のポイント】差分がプラスでも過剰配置になる場合があるため、現場の基準人数と照らして判断します。
数式をオートフィルする操作画面
数式は最初の集計セルへ正しく入力した後、フィルハンドルを右へドラッグしてコピーします。
日付見出しが横方向に並ぶ表では、横方向のオートフィルを使うことで参照する日付だけが順番に切り替わります。
数式をコピーした後は、各日付の人数が勤務帯の本数と大きく違っていないか確認しましょう。
表示結果が想定と異なる場合は、日付が文字列になっていないか、条件式の不等号が正しいかを確認します。
【操作のポイント】数式をコピーする前に、開始日と終了日の絶対参照、相対参照の位置を数式バーで確認します。
共有と印刷に適したレイアウト設定
| 設定項目 | おすすめの設定 | 期待できる効果 |
|---|---|---|
| 印刷の向き | 横向き | 日付列を多く表示 |
| タイトル行 | 各ページに印刷 | ページをまたいでも確認しやすい |
| 表示倍率 | 一ページに収める | 配布資料として整う |
続いては、完成した勤務予定表を共有しやすく、印刷でも読みやすくするレイアウト設定について確認していきます。
画面上で見やすい表でも、印刷すると日付見出しが途切れたり、文字が小さくなりすぎたりすることがあります。
ガントチャートのシフト表は、横向き印刷、タイトル行の繰り返し、印刷範囲の設定を組み合わせると配布しやすくなります。
印刷範囲と横向き設定
印刷したい表全体を選択し、ページレイアウトタブから印刷範囲を設定します。
勤務予定表は横に広がるため、印刷の向きを横に設定するのが一般的です。
余白を狭く設定すると、日付列をより多く一枚に収められます。
ただし、無理に一ページへ収めると文字が小さくなり、現場で使いにくい資料になるかもしれません。
人数が多い場合は、スタッフの行を複数ページに分け、日付見出しを各ページで繰り返す設定が適しています。
【操作のポイント】印刷プレビューで文字の大きさを確認し、読めない倍率まで縮小しないようにします。
タイトル行と氏名列の繰り返し
ページ設定の印刷タイトルを使うと、1行目の日付見出しを各ページの上部に繰り返して印刷できます。
スタッフ数が多く、縦方向に複数ページになるシフト表では特に便利な設定です。
氏名列を左側に置き、開始日や終了日などの基本情報も近くにまとめると、紙で確認する際の視線移動が少なくなります。
印刷後の表は、画面と違って横スクロールができないため、誰の予定か分かる列を必ず残すことが重要です。
PDFとして共有する場合も、印刷プレビューの内容がそのまま反映されます。
【操作のポイント】繰り返すタイトル行には、氏名、開始日、終了日、日付見出しを含めると確認がしやすくなります。
共同編集時の運用ルール
クラウド上でシフト表を共同編集する場合は、入力担当者と確定担当者を決めておくと混乱を防げます。
入力可能なセルだけを色分けし、数式や日付見出しのセルはシート保護で編集しにくくする方法もあります。
変更履歴を確認できる環境なら、急な勤務変更がいつ行われたかを追跡できます。
確定版を配布した後は、ファイル名に対象月や更新日を含めると、古いシフト表との取り違えを減らせます。
共有用の表では、計算式が入ったセルを誤って上書きしない仕組みを作ることが安定運用につながります。
【操作のポイント】共同編集前にコピーを保存し、誤操作があった場合に元へ戻せる状態を用意します。
まとめ エクセルでガントチャートのシフト表を作る方法(勤務予定の見える化)
エクセルでガントチャート形式のシフト表を作ると、スタッフごとの勤務期間と日ごとの人員状況を一つの画面で確認できます。
最初は氏名、開始日、終了日を1行ずつ整理し、日付を横方向へ並べる構成から始めましょう。
条件付き書式にAND関数を使えば、開始日から終了日までの勤務帯を自動で色付けできます。
開始日と終了日を変更するだけで帯表示が更新されるため、急な勤務変更にも対応しやすい点が大きな利点です。
勤務区分や休みの列を追加し、色の意味を統一すれば、予定表としてだけでなく調整用の管理表としても活用できます。
COUNTIFS関数で日別の勤務人数を数え、必要人数との差分を表示すると、人員不足の日を早い段階で見つけられます。
最後に、横向き印刷、タイトル行の繰り返し、ウィンドウ枠の固定を設定すれば、画面でも紙でも確認しやすいシフト表に仕上がります。
勤務ルールや必要人数に合わせて列と条件付き書式を少しずつ整え、現場で使いやすいガントチャートを育てていきましょう。