2024年1月4日发(作者:)

MS Project中用红绿灯图标显示任务状态

适用版本:Project 2010、 Project 2013 及 Project 2016

一、完成目标:

用彩色图标标记出任务状态,便于识别关注的对象,尤其适用查找进度严重落后的任务(本案例指进度落后3天以上,阀值=3,可在下文介绍的公式中自行调整)。

二、任务状态:

未开始【白色】;已完成【黑色】,进行中(正常进度【绿色】,延迟3天以内【黄色】,延迟3天以上【红色】。

三、标记规则:

利用函数和公式进行计算,将上述任务状态分别转换成数值结果,再将数值转化为彩色图标,并显示在【跟踪甘特图】中。任务状态、数值及图标对应关系,参见错误!未找到引用源。。

表格 1:数值对应图表样式

数值

图标

未开始

0

已完成

1

正常进度

2

延迟2天以内 延迟2天以上

3

4

四、公式思路:

1、 用if函数判断任务开始日期是否大于当前日期,如为真,则数值为0;

2、 分步公式:IIf([开始时间]>Date(),0,……

3、 用if函数判断任务是否已完成,如为真,则数值为1;

4、 分步公式:IIf([完成百分比]=100,1,……

5、 用if函数判断任务进度是否按时,如为真,则数值为2;

6、 判断任务实际已完成部分的结束日期与当前时间差,若差值大于-480,则为按时完成

7、 用if函数判断任务进度是否延期3天以内,如为真,则数值为3,否则为4(延期3天

以上)

8、 判断任务实际已完成部分的结束日期与当前时间差,若差值小于-1440,则为延期3天以上,否则延期3天以内。

参数:-1440为3天,延期1天=-480、2天=-960……以此类推。

五、操作思路:

1:插入数字列,2:定义公式,3:设置图标

六、操作具体步骤:

1. 在【跟踪甘特图】下插入列,并选择【数字20】,(【数字1~20】)都可以……

2. 双击【数字20】并改写成【任务状态】。

3. 在【数字20】点鼠标右键,选择“自定义字段“,见错误!未找到引用源。。

4. 在打开的【自定义域】对话框中点击【公式】,并输入以下公式内容,见错误!未找到引用源。

IIf([完成百分比]=100,0,IIf([开始时间]>Date(),1,IIf(ProjDateDiff(Date(),ProjDateSub([开始时间],-([工期]*[完成百分比]/100)))<-1440,4,IIf(ProjDateDiff(Date(),ProjDateSub([开始时间],-([工期]*[完成百分比]/100)))<0,3,2))))

5. 将公式计算结果定义为彩色图标,见错误!未找到引用源。。

图 1:为【任务状态】定义公式

图 2:设置任务状态公式

图 3:定义图标

七、完成后效果图

图 4:图标显示任务状态效果图