ARTICLE · 1296675
wps自动识别法定节假日的函数,有人研究过
wps自动识别法定节假日的函数,有人研究过
有,很多人研究过,但结论比较一致:WPS 表格没有内置的“自动识别中国法定节假日/调休”函数。Excel 也没有。所谓“自动识别”,通常不是靠一个函数算出来的,而是靠节假日数据表 + 公式/脚本实现。
1. 为什么没有真正“自动识别”的函数
中国法定节假日和调休安排每年由国务院办公厅发布,包含:
· 农历节日:春节、端午、中秋等;
· 调休上班:周末变工作日;
· 每年安排不同。
所以即使能算农历,也无法可靠推算“哪天调休上班”。必须维护一张年度节假日/调休表。
2. 常见研究方案
网上 ExcelHome、WPS 社区、CSDN 有很多教程,核心方案是:
建两张表:
· 休:法定休息日日期列;
· 调休:调休上班日期列。
判断某天是否工作日:
```excel
=IF(COUNTIF(休!$A:$A,A2)>0,"休",
IF(COUNTIF(调休!$A:$A,A2)>0,"班",
IF(WEEKDAY(A2,2)>5,"休","班")))
```
计算两个日期之间的工作日:
```excel
=NETWORKDAYS.INTL(A2,B2,1,休!$A$2:$A$500)
+SUMPRODUCT((调休!$A$2:$A$500>=A2)*(调休!$A$2:$A$500<=B2)*(WEEKDAY(调休!$A$2:$A$500,2)>5))
```
意思是:先按“周六周日休息 + 排除法定休息日”算工作日,再把落在周末的调休上班日加回来。
3. 有没有现成数据/工具
有:
· GitHub 上的 holiday-cn 等项目会维护中国节假日 JSON/ICS 数据,含调休;
· WPS 可以用 JS 宏或外部脚本抓取第三方 API/JSON,但不建议依赖,接口稳定性和合规性要自己评估;
· 也有第三方插件,但通常也是内置数据表,不是 WPS 官方函数。
4. 建议
如果你要做模板,最稳妥的是:
1. 每年更新一张“休息日 + 调休上班日”表;
2. 用 NETWORKDAYS.INTL 和 COUNTIF 做公式;
3. 跨年提前更新,不要用固定农历算法硬算。
所以答案是:有人研究过,但主流方案是“年度节假日表 + 公式/脚本”,不是 WPS 自带的自动识别函数。















































































