前言
计划中的里程碑又叫关键节点,MILESTONE等等,通常是指一个关键事件
的开始或者完成,它的周期是0,也就是说,里程碑是一个点。
通常我们做计划用PROJECT或P6,里程碑在甘特图上往往用一个菱形来表示,如下图所示:
那么在EXCEL中是否可以做到呢?
简单
如果任务周期比较短,只用几周或几天的时间,我们可以把时间刻度设置为天,如下图所示:
这个实现起来就比较简单,首先判断节点日期是否等于刻度日期,如果等的话,就在单元格中返回一个字符,表示节点,如“★”,不等话就返回空值就好了。
公式如下:
C2=IF($B2=C$1,"★",""),然后拖拽公式到所有单元格即可!
复杂一点
如果任务周期较长,我们可以把时间刻度设置为月,那么问题来了,我们如何表达这个节点日期在整个月份中的位置呢?月初,月中,月末如何来表达,总不能一样吧?
我们还是采用前面的思路,首先我们把日期栏每个单元格的日期设置为每月的1日,我们还是先判断每个节点的日期在那个月份当中,然后再来确定这个月份当中如何来确定节点显示的位置。
判断在那个月份当中,只要判断节点日期是否大于等于日期行单元格日期,并且小于等于该月份的最后一天
月份的最后一天,可以用函数EOMONTH(开始日期,0)来表示!
if(and(节点日期>=月初日期,节点日期<=EOMONTH(月初日期,0)),"","")
判断日期在月份中的位置,我们可以根据过去的天数和剩余的天数来表示,如节点为7月5日,那么7月份已过去了4天,还剩26天,我们就可以用4个空格+1个节点符号+26个空格来表示。
过去的天数等于Day(节点日期)-1
该月剩余的天数等于月末日期-节点日期:
day(EOMONTH(月初日期,0))-day(节点日期)
因此单元格的值可以这样表达:
rept(" ",day(节点日期-1))&"节点符号"&rept(" ",day(EOMONTH(月初日期,0))-day(节点日期))
完整公式:
C2=IF(AND($B2>=C$1,$B2<=EOMONTH(C$1,0)),REPT(" ",DAY($B2)-1)&"★"&REPT(" ",DAY(EOMONTH(C$1,0))-DAY($B2)),REPT(" ",DAY(EOMONTH(C$1,0))))
选中所有的列,双击单元格中间线,使单元格根据内容调整到适当宽度,然后调整日期行的显示方式为"yyyy-mm",
相关知识
网友评论