Fork me on GitHub

NEW Gantt chart

I'm done with this !



计划= AND(M$5>$D9,L$5<=$E9)

实际= AND(M$5>$G9,L$5<=$H9)

超计划= AND(M$5>IF($E9<=$G9,$G9,$E9+1),L$5<=$H9)

完成= AND($J9>0,M$5>$G9,L$5<=($G9+INT(($H9-$G9)*$J9)))

超完成= AND(M$5>IF($E9<=$G9,$G9,$E9+1),$J9>0,L$5<=($G9+INT(($H9-$G9)*$J9)))



关于日历的公式:

1、定义可以切换周期

一个判断点的公式  

=IF($H$4="周",$D$4+7*($H$3-1)+7*(Q7-1),IF($H$4="日",($D$4-WEEKDAY($D$4,2)+1)+($H$3-1)+Q7-1,IF($H$4="月",EDATE($D$4,($H$3-1)+Q7-1),EDATE
($D$4,3*($H$3-1)+3*(Q7-1)))))

2、隐藏周六 周日的公式设计

二个判断点的公式:

日历起始=

=IF($H$3="周",$D$3+7*($I$3-1),IF($H$3="日",$D$3+($I$3-1),IF($H$3="月",EDATE($D$3,($I$3-1)),EDATE($D$3,3*($I$3-1)))))

                              +7*(K6-1)                   +k6-1                           +k6-1               +3*(k6-1)

修改:固定第一个日期为项目开始日期那一周的周一:$D$4-WEEKDAY($D$4,2)+1

日历结束=

=IF($H$4="日",L5+1,IF($H$4="周",L5+7,IF($H$4="月",EDATE($D$4,M7-1),EDATE($D$4,3*(M7-1)))))

修改:判断第一个周五,跳过周六周日的日期:IF(AND($F$4=TRUE,WEEKDAY(L$5,3)=4),L5+3,L5+1)

提醒:条件格式改变颜色提示,如果项目开始日期为周六或周日

3、修订完成的公式:

日历起点

L$5=IF($H$4="周",$D$4+7*($H$3-1),IF($H$4="日",($D$4-WEEKDAY($D$4,2)+1)+($H$3-1),IF($H$4="月",EDATE($D$4,($H$3-1)),EDATE($D$4,3*($H$3-1)))))

日历结束

M$5=IF($H$4="日",IF(AND($F$4=TRUE,WEEKDAY(L$5,3)=4),L5+3,L5+1),IF($H$4="周",L5+7,IF($H$4="月",EDATE($D$4,M7-1),EDATE($D$4,3*(M7-1)))))

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