Fork me on GitHub

Excel Gantt chart 甘特图

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

效果图2:

Het meisje met de parel

https://www.bilibili.com/video/av75927691/

示例文档下载链接:https://pan.baidu.com/s/1gjyJxMcvUzXTo09C1vHOKQ
提取码:ncdd

posted @ 2023-01-02 16:48  Cloudhan  阅读(264)  评论(0编辑  收藏  举报