一番上の入り口へ > excel > お手製 簡易ガントチャートを作ってみる (レッツトライExcel)

お手製 簡易ガントチャートを作ってみる
(レッツトライExcel)

目次

・はじめに
・作成ダイジェスト(3パターン)
・まとめ

はじめに

工程管理で有名なガントチャートについて、 Excelで気軽に実践してみます(マクロは使いません)。

作成パターンを考える


実際に作成する方法として、 以下の5つほど思いつきました。
・関数式
・条件付き書式
・グラフ
・手書き
・マクロでの方法


今回はそれらの内、関数式、条件付き書式、グラフの3パターンを紹介します。
ガントチャート(Wikipedia) とは?

作成のダイジェスト

それでは、それぞれのパターンで作り方を順に説明します。
(パターン1:関数式 / パターン2:条件付き書式 / パターン3:グラフ)

パターン1:関数式

(1)まずはタスクを並べ左側に作成します。

(2)日付も作成します(表示形式:d)。


(3)とりあえず、開始・終了日付を埋めました。


(4)ここからは本題です。関数を入力します。
左上の隅(16日 タスクA)に式を入れます。
(完成図)
・タスクAの開始と終了の範囲内にある日付(16,17日)であれば■を表示するようにします。
・注意としては、=の把握と$の使い方です。うまく入力すればドラッグだけで他のセルに適用できます(開始・終了へのセル参照では列(図ではC,D列)の前に$をつけて絶対参照にし、日付セルへの参照では同じく行(図では3の前)に$をつけます)。


キャラベースの他の例として、単純に進捗度であれば REPT関数(この関数は 一定の文字を繰り返し(repeatし)ます)を使う方法があります。(REPT進捗説明ページ)
タスク進捗_
A80%=REPT("■",C6*100/10)&REPT("□",(100-C6*100)/10)
B40%■■■■□□□□□□
C30%■■■□□□□□□□


パターン2:条件付き書式

条件付き書式も全く同様にできます。
パターン1の関数式であったところを、条件付き書式に置き替えているだけで、本質は同じです。

(a)設定の仕方は対象範囲を左上から選択し、条件付き書式の画面を開きます(上図 右側ダイアログ)。
(b-1)入力設定するダイアログで「数式」を選択します。
(b-2)「次の数式を〜」(図中 右側中程)の部分には上記(関数式のパターン1)と全く同じ判定式を入力しています。
(c)また、書式としてセルの塗りつぶしを橙にしています。


(完成図)

パターン3:グラフ

グラフ用のカラムを用意して、その値を使ってグラフ表示させます。 既出の2パターンは範囲内かどうかの式を作成しましたが、こちらはグラフ幅を用意するところが考え方として違います。
(最終的な表示方法と、そのための積み上げ棒グラフの設定の仕方を考えます)

グラフ全体像の作成

(1)事前に、基本の表を作っておきます。
(2)使用するグラフは積み上げ横棒グラフ [開始+終了の棒グラフとするので]とします

図・グラフの最小値と最大値 (3),(4-b)

積み上げ用の差分 (植木算なので +1しています)

(3)グラフ全体の開始と終了日付に対応する最小値、最大値を設定します(図 上の吹き出し)。 ※日付についてmin,max関数を使い、表示形式を数値で表示させると値がわかります。例えば 2010/3/16を Excelの内部では数値の39523ぐらいで表しています。

各タスクのグラフ用数値を用意

(4-a)各タスクについてのMINから開始までの差の日数(ちなみにExcelは1日=1.0換算です)部分を用意します。
(4-b)各タスクで開始から終了までの差を用意します。
※上図では差分セルを作って、そこをグラフ範囲としています。

グラフの微調整

(5)開始まで部分は透明にします(左側を透明にすることで、チャートのように見せる)
※また、開始までの距離を出すため、グラフの開始基準として最小値を把握しておく必要があります( (3)で↑に書いてあります)。
(6)タスクの軸は反転 させます[タスクが上下逆になってしまうので]
(7)日付軸は上に表示されるようにします。
(8)グラフの縦サイズをマウスで合わせます。

図・グラフの終了範囲 (4-b),(5)
つまり、それぞれのタスクには、"開始日までの日数"(グラフ上透明の左側バー)、"開始日から終了日までの日数"(グラフ上青い右側の積み上げバー)という、2つの列があります。 また、見栄えを考えて、完成したらそれらのカラム列を非表示にさせます。
最小値〜開始日付 全体の開始日〜タスクの開始日 グラフ左側の透明部分(図の青枠)
開始〜終了日付 タスクの期間 グラフの青棒


完成

(完成図)

応用例として、 終了予定日や、進捗も同様にグラフ幅用のカラムを用意することで 作れますね。


グラフ作成のこのテクニックの 透明化と積み上げのグラフを応用すれば 例えばピラミッド構成の人口表など作れます。

グラフの手動作成をマクロした例のようです
VBA Excel:「ガントチャートをグラフで作る」 - 35歳の壁

まとめ

このようにExcelでちょっとした内容を数値に連動させてグラフィカルに表示させることで着るようになると、今回の場合のように、月日が進んでも自動的に表示が変わるようになります。つまり見える化を維持したまま、手間を省くことができます。

学んだスキル

・ガントチャートの適応例
・数式による関数の利用方法
・相対/絶対参照($A$1など)の利用方法
・条件付き書式やグラフの違った使い方

それぞれの利点

・関数方式は初心者でも作りやすいです。慣れればグラフもまあまあ簡単です。一方追加などが意外と面倒で範囲が壊れた場合、新規に作り直すことも多いです。
・条件付き書式での方法は 2003以前のバージョンでは3つしか設定できないため制約が大きいです。
・関数のキャラクタで行う場合、セルの境目のスキマが気になります(こんな感じ■■□□)。
・グラフはやはり軽いようです。
・グラフの方式は、作る上で予定と実績の2つを組み合わせるのが難しいです。

発展

今回は簡単な例でしたので、物足りない人へもっと実際に活用できるような例を紹介します。
・タスクの進捗度を作ったり、対応日数を表示させる。
・開始/終了日付について予定と実績を分ける。
・タスクを多段階層にする(1-2-4のタスクとか、下位タスクとか、サブタスクとか)。
・開始日終了日を見分けやすくする(関数の場合 →を使うとか、当日の場合☆をつかうとか)。
・予定と実績を重ねて表示させる(条件付き書式の場合、薄い色が予定で、濃い色が実績など)。
・「今日」を印す。
・日付延伸やタスクの追加が簡単にできる。

タスクの因果関係までやろうとすると、関数ではきついです。マクロの方が楽です。
実績の描き方は意外と悩みます。


またテンプレートして一度作ったものを再活用したり、他のスケジュール管理に転用したりと応用できます。

類似リンク

進捗度をテキストで少しかっこ良く定量的に表示するちょいわざ

入力規則を入れたセルによって変わるようにするちょいわざ

リストの過不足をチェック!(レッツトライExcel)

宴会幹事向け出欠確認アンケートを作る(レッツトライExcel)

ちょっと助かるショートカット (Excel操作編)

合計系の関数を極める!(Excel関数使いこなし編)

類似動画



一番上の入り口へ > excel > お手製 簡易ガントチャートを作ってみる (レッツトライExcel)