可通过networkdays.intl、countif/match、weekday嵌套或条件格式四种方法在excel中自动识别并标记法定休息日,分别实现布尔判断、文字标注、双重识别及高亮显示。

如果您需要在Excel中自动识别并标记法定休息日期,可以通过组合函数或自定义数据源实现。以下是设置法定休息日期函数的多种方法:
一、使用NETWORKDAYS.INTL函数结合自定义周末参数
该函数可指定哪些日期为非工作日,并支持排除自定义节假日列表。它不直接识别“法定节假日”,但可通过设定固定周末模式(如周六、周日)并配合节假日区域实现休息日判断。
1、在工作表中新建一列,例如B列用于标注是否为休息日。
2、在B2单元格输入公式:=IF(NETWORKDAYS.INTL(A2,A2,"1111100",Holidays)=0,TRUE,FALSE),其中A2为待判断日期,"1111100"表示仅周六、周日为周末(1=非工作日,0=工作日),Holidays为已定义的法定节假日名称区域(如$D$2:$D$15)。
3、按Enter确认后,向下填充该公式至其他行。
二、使用COUNTIF或MATCH函数匹配预设节假日列表
当法定节假日数量有限且年份固定时,可预先建立节假日清单,再通过逻辑比对判断某日期是否属于其中。
1、在空白区域(如D2:D15)逐行列出当年全部法定节假日(含调休工作日除外的放假日期)。
2、在B2单元格输入公式:=IF(COUNTIF(Holidays,A2)>0,"法定休息日","工作日"),其中Holidays为D2:D15的命名区域或绝对引用。
3、回车后,该单元格将显示“法定休息日”或“工作日”。
三、嵌套WEEKDAY函数识别周末+节假日叠加判断
通过WEEKDAY获取星期几数值,再结合OR逻辑与节假日区域匹配,实现周末及法定假日双重识别。
1、确保节假日区域已定义为名称“Holidays”,且A列为标准日期格式。
2、在B2单元格输入公式:=IF(OR(WEEKDAY(A2,2)>5,COUNTIF(Holidays,A2)>0),"休息日","工作日"),其中WEEKDAY(A2,2)返回1(周一)至7(周日),>5即指周六(6)、周日(7)。
3、复制B2公式至整列,完成批量判断。
四、使用条件格式高亮显示法定休息日期
无需公式输出文字结果,而是直接在原日期列上用颜色标识休息日,提升可视化效果。
1、选中日期所在列(如A2:A100),点击【开始】→【条件格式】→【新建规则】。
2、选择“使用公式确定要设置格式的单元格”,在输入框中填写:=OR(WEEKDAY(A2,2)>5,COUNTIF(Holidays,A2)>0)。
3、点击【格式】按钮,设置字体颜色或背景色,点击【确定】完成应用。











