Excel中自定义工作日计算公式主要分为以下两类:
一、自定义周末参数(WORKDAY.INTL函数)
-
语法结构:=WORKDAY.INTL(起始日期, 工作日天数, [排除日期区域])
-
示例:
-
计算包含自定义周末(如周六、周日)的工作日:=WORKDAY.INTL(DATE(YEAR(TODAY()),6,),3,"1111110")
-
计算指定日期前后的工作日:=WORKDAY(J6+7-WEEKDAY(J6,2),1,SUMIF(P$7:P$9,H6,R$7:R$9))
-
二、自定义节假日参数(NETWORKDAYS函数)
-
语法结构:=NETWORKDAYS(日期1, 日期2, [排除日期区域])
-
示例:
-
计算包含自定义节假日的工作日:=NETWORKDAYS(2000-5-1,2000-5-31,{2000-5-1,2000-5-2})
-
使用自定义名称管理节假日区域:=NETWORKDAYS(A2,B2,1,holidays)
-
三、数学计算法(适用于特定场景)
通过将天数分为完整周和剩余天数,结合自定义周末和节假日判断,可优化计算效率。例如:
-
完整周工作日数:=n/7*5
-
剩余天数工作日数:根据剩余天数判断是否为工作日(非周六、周日)
-
总工作日数:完整周数+剩余天数工作日数
注意事项:
-
自定义节假日需提前定义区域或使用名称管理器动态更新
-
NETWORKDAYS函数默认排除周六、周日,需额外排除法定节假日时需补充参数
-
工作日计算可能包含起始或终止日期,需注意参数设置