求Excel公式:统计指定日期区间内排除周末的节假日天数
统计指定日期范围内非周末节假日的Excel公式
你的原公式仅筛选了日期区间内的节假日,但未排除周末日期,因此需要添加判断日期是否为工作日的条件。以下是两种可行的解决方案:
方案1:兼容所有Excel版本(推荐)
使用SUMPRODUCT函数组合条件判断,无需数组输入:
=SUMPRODUCT((Holiday_Range>=Date1)*(Holiday_Range<=Date2)*(WEEKDAY(Holiday_Range,2)<6))
各部分说明:
(Holiday_Range>=Date1)*(Holiday_Range<=Date2):筛选出Date1到Date2之间的节假日(WEEKDAY(Holiday_Range,2)<6):WEEKDAY参数设为2时,周一至周五对应1-5,周六周日对应6-7,此条件仅保留非周末日期SUMPRODUCT将布尔判断结果转为1/0后求和,得到符合要求的节假日天数
方案2:适用于Excel 365/2021及以上版本
利用动态数组特性,直接在COUNTIFS中添加周末排除条件:
=COUNTIFS(Holiday_Range,">="&Date1,Holiday_Range,"<="&Date2,WEEKDAY(Holiday_Range,2),"<6")
注:若使用旧版Excel(2019及更早),需按Ctrl+Shift+Enter以数组公式形式输入。
按你的场景,8个节假日中3个为周末,使用上述公式即可得到期望的5天结果。
内容的提问来源于stack exchange,提问作者Muhammad Shehata
相关产品推荐
相关产品推荐

