はじめに
今回は最後に、実績進捗率を入れた場合に、カレンダーに実績進捗率を描写するように設定します。これで、カレンダーを見ると、タスクが遅れているのか進んでいるのかわかりやすくなります。
これまでの記事
【Mac】Excelでガントチャート進捗表を作る方法1(カレンダーを作る)【Mac】Excelでガントチャート進捗表を作る方法2(予定をカレンダーに描写する)
【Mac】Excelでガントチャート進捗表を作る方法3(予定進捗率を作る)
実績%から何日までの作業を完了したのかを計算する
まず、実績%から何日までの作業を完了したのかを計算します。実績欄に手入力で%を入力したら、その%ならば、開始日から計算して、何日までの作業をしたことになるか計算します。
計算式は、
=IF(OR(K6="",L6="",N6=""),"",K6+ROUNDUP(NETWORKDAYS(K6,L6,祝日)*N6,0)-1
のようにします。
IF(OR(K6="",L6="",N6=""),""
で、開始日、終了日、実績のいずれかが空白ならば、計算せずに空白にします。
K6+ROUNDUP(NETWORKDAYS(K6,L6,祝日)*N6,0)-1
で、開始日+(開始日から終了日の稼働日×実績%)ー1を計算させます。
これで、開始日から計算して、実績%が何日にあたるか計算できます。
2013/8/9追記:
祝日が入ってしまうと、実績よりも低くなるバグがあったため数式を以下に変更しました。=IF(OR(K6="",L6="",N6=""),"",K6+ROUNDDOWN(DATEDIF(K6,L6,"D")*N6,0))
実績状況をカレンダー上に描写する
計算式は、
IF(OR($K6="",$L6="",$P6=""),"",IF(AND($K6<=Q$3,$L6>=Q$3),IF(Q$3>$P6,IF($O$2<Q$3,"","□"),"■"),""))
となります。
同様に、
IF(OR(K6="",L6="",N6=""),""
で、開始日、終了日、実績のいずれかが空白ならば、計算せずに空白にします。
IF(AND($K6<=Q$3,$L6>=Q$3)
で、カレンダーの該当セルの日付が、開始終了の間にあるセルだけを対象とします。
IF(Q$3>$P6,IF($O$2<Q$3,"","□"),"■")
で、カレンダーの該当セルの日付が、計算した実績進捗の日付より大きい場合で、今日が開始日よりも小さい場合には、空白にする。
今日が開始日よりも大きい場合には、「□」:本当はここまで進んでいないとマズイんだけど出来ていない表示にする。
カレンダーの該当セルの日付が、計算した実績進捗の日付より小さい場合には、完了として、■を描写する。
という意味になります。
以上で、Excelが完成します。
サンプル
サンプルは以下にあります。かなり適当ですが、ご自身で好きにカスタマイズして使っていただければと思います。
サンプルダウンロード
以上です。