你现在的位置:
WPS 表格中计算两个日期之间扣除周末(周六、周日)的工作日天数
一、基础公式:NETWORKDAYS 函数
1. 标准工作日计算(扣除周末)
=NETWORKDAYS(开始日期, 结束日期)
示例:
- A1:
2026-03-01(周一) - B1:
2026-03-22(周日) - 公式:
=NETWORKDAYS(A1,B1) - 结果:
16天(自动扣除 3 个周六 + 3 个周日)
二、进阶:扣除周末 + 法定节假日
2. 自定义节假日版本
=NETWORKDAYS(开始日期, 结束日期, 节假日范围)
操作步骤:
| 步骤 | 操作 |
|---|---|
| 1 | 在 D列 列出所有法定节假日日期(如 D1:D10) |
| 2 | 输入公式:=NETWORKDAYS(A1,B1,D1:D10) |
| 3 | 自动扣除:周末 + 你指定的节假日 |
三、单休/大小周等特殊工作制
3. 仅周日休息(单休制)
=NETWORKDAYS.INTL(开始日期, 结束日期, 11)
4. 自定义周末代码表
| 周末类型 | 代码 | 说明 |
|---|---|---|
| 周六+周日 | 1 或省略 | 标准双休 |
| 仅周日 | 11 | 单休制 |
| 仅周六 | 17 | 特殊排班 |
| 周五+周六 | 7 | 中东部分地区 |
公式结构:
=NETWORKDAYS.INTL(开始日期, 结束日期, 周末代码, 节假日范围)
四、实际应用示例
场景:计算 2026年3月 工作日(扣除周末+清明假期)
| 单元格 | 内容 | 说明 |
|---|---|---|
| A1 | 2026-03-01 | 开始日期 |
| B1 | 2026-03-31 | 结束日期 |
| D1 | 2026-04-04 | 清明节(调休前) |
| D2 | 2026-04-05 | 清明节假期 |
| 公式 | =NETWORKDAYS.INTL(A1,B1,1,D1:D2) | 双休+扣清明 |
| 结果 | 23 | 2026年3月工作日 |
五、常见问题解决
Q1:公式返回 #NAME? 错误?
- 原因:WPS 版本较旧,不支持
NETWORKDAYS.INTL - 解决:使用
=NETWORKDAYS()或升级 WPS
Q2:需要计算包含开始日期的工作日?
=NETWORKDAYS(A1,B1)+1
Q3:逆向计算(已知工作日,求结束日期)?
=WORKDAY(开始日期, 工作日天数, 节假日范围)
六、完整对比表
| 需求 | 公式 |
|---|---|
| 标准双休工作日 | =NETWORKDAYS(A1,B1) |
| 双休+扣法定假日 | =NETWORKDAYS(A1,B1,D1:D10) |
| 单休(仅周日休) | =NETWORKDAYS.INTL(A1,B1,11) |
| 单休+扣法定假日 | =NETWORKDAYS.INTL(A1,B1,11,D1:D10) |
| 自定义周末 | =NETWORKDAYS.INTL(A1,B1,"0000011") |
💡 提示:
"0000011"中 1=休息,0=工作,从周一到周日排列

发表回复