You need to enable JavaScript to run this app. Excel不使用VBA统计当月工作日序号的方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

Excel不使用VBA统计当月工作日序号的方法咨询

实现方案

该需求完全可以不用VBA实现,用Excel自带函数即可满足要求,适配Excel 2010及以上全版本,WPS表格也通用。

基础方案(仅排除周末,不需要剔除法定节假日)

适用于不需要额外排除法定节假日的场景,直接在B列首个数据单元格(假设A列日期从A2行开始,B2是首个要填充的单元格)输入以下公式,之后下拉填充整列即可:

=IF(WEEKDAY(A2,2)>5,"",NETWORKDAYS(EOMONTH(A2,-1)+1,A2))
  • 公式说明:
    • WEEKDAY(A2,2):按照周一为1、周日为7的规则返回当前日期对应的周内序号,返回值大于5即为周末,直接返回空值
    • EOMONTH(A2,-1)+1:自动计算当前日期对应月份的1号日期,不用手动修改月份参数
    • NETWORKDAYS:自动统计两个日期间的工作日数量,刚好对应当月的工作日累加序号,新月份会自动从1重新计数

进阶方案(需要额外剔除法定节假日)

如果需要把法定节假日也排除在工作日之外,提前把对应年份的法定节假日整理到表格空白列,例如存放在D列的D2:D100区域,修改公式为:

=IF(WEEKDAY(A2,2)>5,"",NETWORKDAYS(EOMONTH(A2,-1)+1,A2,$D$2:$D$100))
  • 注意:节假日区域要加绝对引用符号$,避免公式下拉时区域偏移

注意事项

  • A列的日期需要为Excel标准日期格式,若为文本格式需要先转换为日期格式再使用公式,否则会出现计算错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 15:30:04