さくっとエクセレートさくっとエクセレート

見やすいガントチャートの作り方 |エクセルで親子タスクを扱いやすくする

Thumbnail for 見やすいガントチャートの作り方 |エクセルで親子タスクを扱いやすくする

本記事では、タスク数が多い場合でも親子関係(階層構造)を把握しやすく、見やすいガントチャートの作り方を解説します。

【内容】

  • セル装飾や条件付き書式を重ねて設定し、色を効果的に使った視覚的にわかりやすいデザインにする方法
  • タスクの末端情報の表示/非表示切り替え(折りたたみ)機能をスライサーで実装する方法

視覚的にわかりやすいデザインにすること、タスクの表示/非表示機能を追加することで、大分類(カテゴリなど)が瞬時に把握でき、タスク構成の全体像がすぐに理解できる ようになります。結果的に、タスク数が多くなっても見やすいガントチャートになります。

テーブル機能を利用するため、数式や書式設定が壊れにくい構成となります。長期的にも見やすさが維持されやすく、タスク情報を更新しやすいガントチャートとなります。

Excelのバージョン

本記事は、Excel 2024(ローカルまたは共有フォルダでの運用) を前提に作成しています。
環境によっては、UIなどの細かな点が異なる場合があります。

※ 本記事の見出しでは「エクセル」本文では「Excel」と表記を統一しています。

前知識| ガントチャートとは

ガントチャートは、プロジェクト全体のスケジュールを可視化したチャートです。タスクの洗い出し・整理をして、必要なタスクのスケジュールを視覚的に把握するのに役立ちます。

定期的にタスク内容・スケジュールの見直しを行い、情報を更新していくことで、プロジェクトの進捗管理ができます。

デメリット|エクセルガントチャートの課題

Excel(エクセル)のガントチャートは低コストで手軽に作れますが、作り方次第では、タスク数が増えるにつれて見づらく なります。見づらくなる原因は主に「ほしい情報を瞬時に把握できないことです。

見やすいガントチャートにするための方法としては下記があります。

  • 階層的なタスクの親子関係がわかりやすくなるように、視覚的なデザインを工夫する
  • 欲しい情報以外(ノイズ)は、一時的に非表示にできるようにする。

設計|見やすいガントチャートを作る方法

見やすいガントチャートを作るために、以下の要素を実装します。

  • 瞬時にタスク構成を把握できるデザイン
  • 末端情報を隠せる折りたたみ機能
 

瞬時にタスク構成を把握できるデザイン

タスクの階層構造が視覚的にわかりやすいデザインにすることで、瞬間的にタスクの構成がわかるようになります。わかりやすいデザインを作るためには、条件付き書式を重ねて使用します。

ここでは、下記のように設定します。

  • チャート領域 : カラースケール(白→黒) × パターン(色4種)
  • タスク情報領域 : 黒背景・白文字(階層Lv1のみ) × パターン(色4種)
瞬時にタスク構成を把握できるデザイン
吉峰
吉峰

タスクの階層数は最大4階層として設計しています。

 

末端情報を隠せる折りたたみ機能

階層の深いタスクを一時的に非表示にできる折りたたみ機能を追加します。見たいタスクとその周辺のみを表示させ、ノイズとなるような他の末端のタスクを非表示にできるため、タスク数が多い場合でも見やすくなります。

折りたたみ機能を実装するときには スライサー を使用します。スライサーを使うためにテーブル機能 の使用と、階層数分のタスクNo列 の用意が必要になります。

テーブル機能のメリット

テーブル機能を使うと、数式や書式設定が壊れにくくなります。
壊れやすい場合は、タスク情報の更新が止まってしまい、
「見やすいか」以前に「そもそも見る価値のないガントチャート」になってしまいます。

吉峰
吉峰

スライサー は、フィルターボタンを使ったフィルター機能(行の表示/非表示)より手軽に使用できるようにしたものです。

作成手順| 見やすいガントチャートの作り方

Excelで見やすいガントチャートを作成する手順は下記の通りです。

 

工程1 チャートの大枠の作成

ガントチャートの大枠(基本要素)を作成します。

STEP1

タスク情報の記入とテーブル化

  • プロジェクト開始日 : 2025/04/01など

下記はテーブル化する

  • No : 1.1.1など
    • ※ 数値でなく、文字列扱いとするため、先頭に'を付けて入力 or 書式設定をしておく。
  • タスク名 : タスクAなど
  • 開始日 : 2025/04/01など
  • 終了日 : 2025/04/30など
  • 担当者 : 佐藤など
  • ステータス : 未着手など
タスク情報の記入とテーブル化
STEP2

横軸(時間軸)作成

  1. 項目 (半角スペース1つ), (半角スペース2つ), 0を追加し、0を横にオートフィル

    項目0の追加とオートフィル
  2. テーブルの上部に時間軸の行(SN(シリアル値)年、月、日など)追加

    O列に下記を記入し、右にコピペ / オートフィル

    • =O6*1 + $I$2
      • O6: 0列の最初のセル
      • I2: プロジェクト開始日
      • *1: 文字列を数値に変換
        • ※ 時間単位は「日」の場合は1「週」の場合は7になる。
      • ※ 横方向への関数コピーは、構造化参照に不向きなため、セル参照の形式を使用する
    • =TEXT(O$1, "'yy")など
      • O1: SN行の最初
    時間軸の作成
STEP3

階層情報の列の作成

【テーブルの見出し上に追加する行】

  • 抽出Lv : 1, 2, 3, 4

【テーブルの左端に追加する列】

  • Lv1 : =IF(B$5<=[@階層Lv], TRIM(MID(SUBSTITUTE([@No], ".", REPT(" ", 100)), 1, (B$5)*100+1)), "")
  • Lv2 : =IF(C$5<=[@階層Lv], TRIM(MID(SUBSTITUTE([@No], ".", REPT(" ", 100)), 1, (C$5)*100+1)), "")
  • Lv3 : =IF(D$5<=[@階層Lv], TRIM(MID(SUBSTITUTE([@No], ".", REPT(" ", 100)), 1, (D$5)*100+1)), "")
  • Lv4 : =IF(E$5<=[@階層Lv], TRIM(MID(SUBSTITUTE([@No], ".", REPT(" ", 100)), 1, (E$5)*100+1)), "")
  • 階層Lv : =LEN([@No]) - LEN(SUBSTITUTE([@No], ".", ""))+1
階層情報の列の作成

テーブルの左端に新規列を作成する方法

テーブルの右側や下側に列や行を追加するのは簡単ですが、
左端に列を追加するには一手間必要です。

  1. テーブルの中に新規列を挿入する。
  2. 見出しを書き換える(最後でも良い)
  3. 新規のテーブル列を選択状態にして、テーブル左端にドラッグ&ドロップする。
階層Lvを計算する
STEP4

チャート部分の塗りつぶしセルの設定

セルに数式を設定

下記の数式を入力し、右方向(1, 2, ... 列)にコピペ(オートフィル不可)

  • 0列 : =IF(AND([@開始日]<=O$1, O$1<=[@終了日]), [@階層Lv], "")
チャート部分の塗りつぶしセルの設定
 

工程2 階層化タスクのデザインと折りたたみ機能追加

タスクの階層構造がわかりやすくなるようなデザインの設定と、スライサーを使った折りたたみ機能を追加します。

STEP1

チャート部分の塗りつぶし設定

条件付き書式でグラデーション(塗りつぶし用)を、書式設定(条件なし)で文字の非表示を設定します。

  • 条件付き書式
    • 書式スタイル : 3色スケール
    • : 白 → 灰 → 黒
  • 書式設定
    • 表示形式 > ユーザー設定
    • 種類 : ;;;(セミコロン3つ)
チャート部分の塗りつぶしセルの設定
STEP2

階層Lv列のデザイン設定

書式設定(条件なし)で背景色を設定し、条件付き書式のデータバーを重ねて設定します。

  • 書式設定
    • 塗りつぶし >
  • 条件付き書式
    • 書式スタイル : データバー
    • 棒のみ表示にチェック
    • : 白
階層Lv列のデザイン設定
STEP3

タスク表示のデザイン設定

No ~ ステータス列のデザイン設定をします。階層Lv = 1の行を対象として「背景黒+文字白」を設定します。

タスク表示のデザイン設定2
  • 条件付き書式
    • 数式 : =$F7=1階層Lv列の先頭セルがF7の場合)
    • フォント : 白色
    • 塗りつぶし : 背景色 > 黒色
タスク表示のデザイン設定1
STEP4

大分類(階層Lv1)ごとの色分け設定

テーブルのすべての列に、Lv1列の値に応じて色が変わるように、パターンの塗りつぶしをする設定をします。ここでは、パターンの色を4つとして仮定しています。

大分類(階層Lv1)ごとの色分け設定2

条件付き書式(下記の数式中の数値と、色を変えて4つのルールを作成)

  • ルール : 数式
  • 数式 : =AND($B7*1=1, B7<>"")Lv1列の先頭 と テーブルのデータ左上がB7の場合)
    • =1 の数値は、ルールごとに変える(=2, =3, =4
  • 塗りつぶし > パターンの色 : ルールごとに変える
  • 塗りつぶし > パターンの種類 : 50% 灰色
大分類(階層Lv1)ごとの色分け設定1
STEP5

スライサーの設定

テーブルを選択し、挿入タブのスライサーを選択してスライサーの挿入ダイアログを表示させます。Lv1, Lv2, ... や 担当者, ステータス などを選択し、OKをクリックします。

スライサーの設定
 

工程3 細かいデザインと設定

ガントチャートの細かい見た目を整える設定をします。

STEP1

時間軸の黒塗り

テーブルの上のSNの行を黒く塗りつぶします。

時間軸を黒塗り
STEP2

休日のグレーアウト

条件付き書式で、土日をグレーアウトする設定をします。

休日のグレーアウト2
  • ルール : 数式
  • 数式 : =OR(O$5="土", O$5="日")0列の先頭セルがO5の場合)
  • 書式 : 塗りつぶし > 薄い灰色
休日のグレーアウト1
STEP3

時間軸の同じ値の非表示

  • ルール : 数式
  • 数式 : =N2=O2行の先頭セルがO2の場合)
  • 書式 : 表示形式 > ユーザー設定
    • 種類 : ;;;(セミコロン3つ)
時間軸の同じ値の非表示
STEP4

罫線を太い白線に変更

  1. 現在選択しているテーブルスタイルを複製し、カスタムスタイルを作成します。

    罫線を太い白線に変更
  2. カスタムスタイルを選択します。

    罫線を太い白線に変更2
STEP5

ウィンドウ枠の固定

普段使用するときに不要な行(SNなど)と列(Lv1など)が見切れた状態で、固定したい位置のセルを選択し、表示タブのウィンドウ枠を固定をONにします。

ウィンドウ枠の固定

使い方|タスク情報の更新と表示の切り替え

作成したExcelガントチャートのタスク情報の更新方法と、スライサーを使ったタスクの表示切り替え方法について説明します。

 

タスク追加・変更時の操作方法

タスクの追加・削除、情報の更新、並び替えは下記の通りに行えます。

  • 追加 : テーブルの最終行の下の行に記入する(既存行のコピペは不要)
  • 削除 : テーブルの該当行を選択し、削除する。
  • 更新 : セルの値を書き換える。
  • 並び替え : フィルタボタンから行の自動並び替え(ソート)をする。
 

スライサーを使ったタスクの折りたたみ方法

スライサーのボタンを押すことで、タスクの表示を切り替えられます。複数選択ボタンをON状態にすると、各項目をトグルで切り替えられ、直感的に使いやすいです(OFF状態では「選択した1項目のみを表示」する動作になる)

スライサーを使ったタスクの折りたたみ方法

まとめ|ガントチャートは工夫次第で見やすくできる

Excelのガントチャートは、条件付き書式の重ね掛け設定スライサーの活用 で、タスク数が増えても見やすくできます。階層構造(親子関係)を持つタスクの取り扱いもしやすいです。

Excelでガントチャートを作成する方法や、実装できる機能についてはこちらにまとめています。