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

Excel日期相减公式修正:仅第4个工作日计为新月份

问题与公式修正

问题说明

现有Excel公式用于计算结束日期与开始日期的月份差,规则为仅当日期处于当月第4个工作日及之后时,才视为进入该月份;但当前公式会在日期为当月第3个工作日时错误增加一个月份,需修正该逻辑。

原公式

=(MONTH(C2)+YEAR(C2)*12)-(MONTH(D2)+YEAR(D2)*12) +
  (NETWORKDAYS(DATE(YEAR(C2),MONTH(C2),1),C2)>3) -
  (NETWORKDAYS(DATE(YEAR(D2),MONTH(D2),1),D2)>3)

修正思路

原公式的判断条件逻辑反转:

  • 原逻辑是「日期过了第3个工作日则调整月份数」,但正确逻辑应为「日期未到第4个工作日(即前3个工作日)则不计入当前月份」
  • 将判断条件改为NETWORKDAYS(月初日期, 目标日期)<=3,并调整对应的加减符号,实现「前3个工作日不计入当月」的规则

修正后公式

=(MONTH(C2)+YEAR(C2)*12)-(MONTH(D2)+YEAR(D2)*12) -
  (NETWORKDAYS(DATE(YEAR(C2),MONTH(C2),1),C2)<=3) +
  (NETWORKDAYS(DATE(YEAR(D2),MONTH(D2),1),D2)<=3)

公式解释

  1. 基础月份差:(MONTH(C2)+YEAR(C2)*12)-(MONTH(D2)+YEAR(D2)*12) 将日期转换为「年份×12+月份」的总月数,计算结束日期与开始日期的基础月份差
  2. 结束日期调整:如果结束日期是当月前3个工作日,减去1(不计入当前月份)
  3. 开始日期调整:如果开始日期是当月前3个工作日,加上1(视为在上一个月份,抵消基础差的偏差)

测试数据

结束日期开始日期
2022/2/22018/3/6
2022/8/52018/3/20
2022/6/212020/6/10
2022/8/32020/6/10
2022/8/112020/6/10
2022/4/182020/11/2
2022/4/232020/11/6
2022/7/22020/11/2
2022/7/22020/11/2
2022/8/132020/11/2
2022/9/72020/11/2
2022/8/32022/7/1
2022/9/12022/5/1

内容的提问来源于stack exchange,提问作者Kenzerz11

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:10:27