Excel中统计日期在多个时间区间内的匹配次数
统计日期在多区间内出现次数的优化方案
这里有两个简洁高效的方案,完美替代你当前冗长的IF叠加公式:
方案1:SUMPRODUCT函数(兼容所有Excel版本)
直接使用以下公式:
=SUMPRODUCT(($A11>=$A$2:$A$5)*($A11<=$B$2:$B$5))
或者用更直观的参数分隔写法:
=SUMPRODUCT(--($A11>=$A$2:$A$5),--($A11<=$B$2:$B$5))
- 逻辑:
$A11>=$A$2:$A$5会生成一组逻辑值,判断目标日期是否大于等于每个区间的起始日;$A11<=$B$2:$B$5判断是否小于等于结束日。逻辑值相乘时会自动转为1(TRUE)和0(FALSE),SUMPRODUCT最终求和得到符合条件的区间总数。 - 优势:无需手动逐个添加IF判断,后续新增区间时,只需扩展
$A$2:$A$5和$B$2:$B$5的范围(比如改成$A$2:$A$10)即可,公式结构完全不用改。
方案2:SUM动态数组公式(适用于Excel 365/2021+)
如果你的Excel版本支持动态数组,还可以用更简洁的写法:
=SUM(($A11>=$A$2:$A$5)*($A11<=$B$2:$B$5))
输入后直接按回车,Excel会自动处理数组运算,结果和SUMPRODUCT完全一致。
验证结果
当A11单元格为2021年9月10日时,上述两个公式都会返回3,和你原公式的计算结果一致。
内容的提问来源于stack exchange,提问作者Gecko
相关产品推荐
相关产品推荐

