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)))))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?