Excel判断日期是否是工作日的实现(排除节假日,加上补班日)
实现思路:工作日 = 【周一 到 周五(排除节假日) 或者 补班日】
公式编写:
1. 周一到周五判断
WEEKDAY(A2,2) 获取该日期是星期几(返回:1-7),那么周一到周五就是 < 6
2. 非节假日判断
COUNTIF($G$2:$G$398,A2)=0 统计该日期在指定区域$G$2:$G$398中出现的次数,非节假日就是未出现,出现的次数=0
3.补班日判断
COUNTIF($H$2:$H$398,A2)>0 统计该日期在指定区域$H$2:$H$398中出现的次数,补班日出现,则次数>0
这样就把公式写出来了。
附录:
1. 完整公式:=OR(AND(WEEKDAY(A2,2)<6,COUNTIF($G$2:$G$398,A2)=0),COUNTIF($H$2:$H$398,A2)>0)
2. 星期几的展示公式:=TEXT(A2,"AAAA")
注意事项:
引用节假日、补班日的数据属于绝对引用,公式中需要在行号、列号前面加$符号,否则下拉公式时也会自增,取数范围就变了