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

Excel 2016如何通过公式正确区分显示工作日、周末及节假日

问题说明
  • 当前运行环境:Excel 2016
  • 基础配置:已单独创建名为HOLYDAY的工作表存储所有节假日日期,节假日数据范围为HOLYDAY!$A$2:$A$673;业务表格需要根据日期返回对应星期,仅对匹配到节假日列表的日期标记为HOL,周末正常显示星期。
  • 初始使用的判断公式:
=IF(WORKDAY($J$5-1;1;HOLYDAY!$A$2:$A$673)=$J$5;$J$5;"HOL")
故障表现
  • 公式运行后出现误判:周末被错误标记为节假日,实际显示序列为周一-周二-周三-周四-周五-HOL-HOL-周一-周二-HOL,仅周三(法定节假日)的识别结果符合预期。
  • 目标效果:显示序列为周一-周二-周三-周四-周五-周六-周日-周一-周二-HOL,仅HOLYDAY表中录入的节假日标注为HOL,周末正常显示对应星期,不做节假日判定。
故障原因

WORKDAY函数默认将周六、周日自动排除在工作日范畴外,原公式逻辑是校验目标日期是否为工作日,因此会直接把周末判定为非工作日返回HOL,和"仅标记录入的节假日、周末正常显示"的需求不匹配。

修正方案

直接使用COUNTIF匹配节假日列表即可,不会对周末做额外判定,适配Excel 2016版本,修正后公式如下:

=IF(COUNTIF(HOLYDAY!$A$2:$A$673,$J$5)>0,"HOL",$J$5)

公式逻辑:统计当前日期$J$5在节假日列表中的匹配次数,存在匹配项则返回HOL,不存在则返回原日期;后续将单元格格式设置为aaa即可直接显示周一至周日的星期文本,完全符合预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:09:34