Excel 条件格式 设置甘特图,公式终于弄明白了,记录下;
◆
甘特图中的菱形块: 代表不需要时间的活动类似于 "获得批准";
▼ ▼
横道图两端的倒实心三角: 代表自己是上级任务,下面直到出现▼之前横道图是自己的下级任务 ;
连线代表是依存关系;
空白 =MOD(COLUMN(),2)=0
灰列 =MOD(COLUMN(),2)
计划 =AND(NOT(ISBLANK($C11)),K$8>=$C11,K$8<=$D11)
实际 =AND(NOT(ISBLANK($F11)),K$8>=$F11,K$8<=($F11+$H11-1))
超实际 =IF($F10<=$D10,AND(K$7>$D10,K$7<=$G10),AND(K$7>=$F10,K$7<=$G10))
完成 =AND($I11>0,K$8>=$F11,K$8<=($F11+INT(($G11-$F11)*$I11)))
超完成:
这里是最难的部分,外层IF主要是解决当完成度=0时,开始一格会被涂色,原因是完成的起点是>=,所以当完成率=0,起点必须是>;
内层的IF判断的是起点 在实际结束 和 计划开始 中取大值,同时如果计划结束 小于 实际开始,起点必须是>,
如果实际开始,在计划结束后面,起点就是>=;
=IF($I11=0,AND(K$8>$F11,K$8<=($F11+INT(($G11-$F11)*$I11))),
IF($F11-$D11<=0,AND(K$8>$D11,K$8<=($F11+INT(($G11-$F11)*$I11))),
AND(K$8>=$F11,K$8<=($F11+INT(($G11-$F11)*$I11)))))
今天 =K$8=TODAY()
周末 =OR(WEEKDAY(K$8,3)=6,WEEKDAY(K$8,3)=5)
思考:
这是利用日期加步长计算的公式,如果计算结束日期改为开始日期+步长,这是模版里的用法,可以参考。
=AND($E9<=K$7,ROUNDDOWN(($F9-$E9+1)*$H9,0)+$E9-1>=K$7)
E 开始 F计算出的结束日期 H 完成率 K日历开始列
做了两个不同版本,效果图1:
![Het meisje met de parel](/image/gantt1.png)
效果图2:
![Het meisje met de parel](/image/gantt2.png)
https://www.bilibili.com/video/av75927691/
示例文档下载链接:https://pan.baidu.com/s/1gjyJxMcvUzXTo09C1vHOKQ
提取码:ncdd