【Excel】プロジェクトの進捗管理表を作ってみた。

Microsoft Office

 仕事内で、部門内で進行しているプロジェクトの進捗率を記録、管理する表を作成してみた。

 他部門にも公開したところ、思いの他好評で使ってくれるところもあったので、記事のネタとして使わせてもらうことにした。

発端

 そもそもの発端は、部門内のプロジェクトを統括する会議だった。

 この会議に各プロジェクトのリーダーが出席し、進捗状況を報告していくのだが、

各リーダー
各リーダー

○○の進捗率は50%ほどです。

と言った感じでプロジェクトの内容の進捗率を報告していくものの、実際の予定スケジュールに落とし込んだ時の進み具合についてはちゃんと管理されていない場合がほとんどだった。

 より具体的に言えば、そのプロジェクトがスケジュール通りに進んでいるのか、それとも遅延しているのかが把握できていなかったのである。

すると統括リーダーから

統括リーダー
統括リーダー

オンスケジュールで進んでいるか確認するためのプロジェクト進捗管理表を作ってください。

とのお達しがあった。

 これに応える形で作ったのが、今回紹介するプロジェクト進捗管理表である。

プロジェクト進捗管理表

 今回紹介するプロジェクト進捗管理表は、下記ボタンから入手可能である。

 「Project_status_management_list.xlsx」を開くと、Sheet1が下図のように表示される。

 入力が必要なのは、薄い黄色で色分けされている下記5項目である。
 ・進捗確認日 ⇒ 進捗状況を確認した日付(統括会議の実施日)
 ・プロジェクト名
 ・始動日 ⇒ プロジェクトが始動した日付
 ・終了予定日 ⇒ プロジェクトの終了予定日
 ・進捗率 ⇒ 内容の進捗率(統括会議で報告していた進捗率)

 これらを入力すれば、進捗率を日数に換算した上で、進捗確認日を基準としたスケジュールの進み具合を自動で数値化するようになっている。

 また右の棒グラフも、各プロジェクトの予定スケジュールに対する進み具合を可視化している。
 グラフが緑色なら予定より早く進んでおり、赤色なら遅延している。
 このグラフも左の表に対応しており、表が更新されれば自動でグラフも更新される。

 基本的には最初に各プロジェクト名と始動日、終了予定日を入力しておけば、後は進捗確認日と進捗率を更新していくだけでスケジュールの進み具合を瞬時に把握できる。

仕組み

 ここからは、スケジュールに対する進み具合の計算に用いている関数とプロセスを示す。

 単に管理表を使いたいだけなら、ここから先は読まなくても構わない。

 

 まずF列で、進捗率を日数に換算した上で、進捗確認日を基準としたスケジュールの進み具合を日数で表示する。

 具体的には

 1. \(進捗日数=(終了予定日-始動日+1)\times\frac{進捗率}{100}\)で進捗日数を計算。

 2. \(始動日からの経過日数=進捗確認日-始動日+1\)で始動日からの経過日数を計算。

 3. \(対予定日数=進捗日数-始動日からの経過日数\)を計算し、一の位で丸める。

という計算をしている。

 もし\(対予定日数>0\)であれば、プロジェクトは予定より早く進んでいる。
 逆に\(対予定日数<0\)であれば、プロジェクトは予定より遅延している。

 

 続いてG列、H列でそれぞれ、F列の日数を週数、月数に換算する。

 

 次にI列で具体的な進捗具合を表示する。

 例としてセルI5の式を書き出すと、

=IF(E5>=100,”完了”,IF(C5-$E$3>0,”始動前”,IF(ABS(F5)<7,”計画通り”,IF(AND(F5<0,ABS(H5)<1),(ROUND(ABS(G5),0))&”週間遅延”,IF(F5<0,(ROUND(ABS(H5),1))&”ヶ月遅延”,IF(AND(F5>0,ABS(H5)<1),(ROUND(ABS(G5),0))&”週間超達”,(ROUND(ABS(H5),1))&”ヶ月超達”))))))

となる。

 かなり長ったらしいが、基本的にやっていることはif文による条件分岐の繰り返しである。

 下記にフローチャートを示しておく。

 

 そしてJ列、K列、L列で右の棒グラフに表示するテキストを生成している。

 「棒グラフ数値」(K列)については、例としてセルK5の式を書き出すと、

=IF(OR(I5=”完了”,I5=”始動前”,I5=”計画通り”),0,ROUND(H5,1))

となる。 

 棒グラフの軸単位は月数であり、グラフには基本的には対予定月数(G列)の値を表示している。

 ただしプロジェクトのステータスが「完了」、「始動前」、「計画通り」のいずれかである場合は、強制的に値を0としている。

終わりに

 完全な余談。

 上で示したフローチャート図はExcel上で図形を並べて描いたのだが、これを描く前に

もっと楽にフローチャート描ける方法ないか?

とフローチャートを描くツールを漁ってみた。

 最終的にPythonを使う方法と、PlantUMLという言語を使う方法の2つが残ったのだが、いずれもフローチャートの構成の仕方がイマイチで、結局Excelで手描きで作ることにした。

 せっかく試してそのままにしておくのも勿体ないので、どこかのタイミングで紹介記事でも書こうと思う。

 

 END

コメント

タイトルとURLをコピーしました