You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按月拆分任务工作日的公式需求咨询

按月拆分任务工作日的公式需求咨询

嘿,我完全懂你现在的困扰——直接用NETWORKDAYS(B3,F2)只能算出从任务开始到某个月末的工作日,但没法灵活适配每个月份的起止边界,遇到任务跨月或者在月中开始/结束的情况就会出错。

针对你需要在黄色单元格(对应E到P列定义的各月起止日期)拆分计算工作日的需求,给你一个通用的公式,能自动处理所有边界情况:

假设你的表格结构是:

  • B列是任务的开始日期(比如B3)
  • C列是任务的结束日期(比如C3)
  • E到P列的第二行(E2、F2...P2)是对应月份的结束日期,第一行(E1、F1...P1)是对应月份的开始日期

那么在黄色单元格(比如F3,对应2月的工作日计算)里输入:

=IF(MAX($B3,F$1) > MIN($C3,F$2), 0, NETWORKDAYS(MAX($B3,F$1), MIN($C3,F$2)))

公式逻辑拆解:

  • MAX($B3,F$1):取任务开始日期和当月起始日期中较晚的那个,确保我们只计算任务落在当月内的起始部分,不会把任务开始前的日期算进去
  • MIN($C3,F$2):取任务结束日期和当月结束日期中较早的那个,确保只计算任务落在当月内的结束部分,不会把任务结束后的日期算进去
  • IF(...):如果计算出来的起始日期晚于结束日期,说明任务和这个月份完全没有交集,直接返回0;否则用NETWORKDAYS()计算这个区间内的工作日数

使用小贴士:

  • 公式里的$B3和$C3用了列绝对引用,拖动填充时会保持引用B、C列的对应行;F$1和F$2用了行绝对引用,拖动时会自动切换到对应月份的起止日期(比如拖到G3时,会变成G$1和G$2)
  • 如果你的月份起止日期是放在同一列的不同行(比如E列是所有月份的开始,F列是所有月份的结束),只需要调整公式里的起止日期引用即可,逻辑是一样的

备注:内容来源于stack exchange,提问作者Xeman Berton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 08:48:10