如何统计包含指定日期范围内日期的Excel行数?
统计包含指定季度日期的行数解决方案
要统计**至少有一个日期落在指定区间(>=K4且<=L4)**的行数,你可以用以下两种方法:
方法1:SUMPRODUCT+MMULT(兼容所有Excel版本)
使用这个公式:
=SUMPRODUCT(--(MMULT(--(D3:I30>=K4)*(D3:I30<=L4),ROW(INDIRECT("1:"&COLUMNS(D3:I30)))^0)>0))
拆解逻辑:
--(D3:I30>=K4)*(D3:I30<=L4):将区域内符合日期条件的单元格转为1,不符合的转为0ROW(INDIRECT("1:"&COLUMNS(D3:I30)))^0:生成和D3:I30列数一致的全1数组,用于计算每行的符合条件单元格总数MMULT(...):对每行的0/1数组求和,得到每行有多少个符合条件的日期--(...)>0:只要该行求和结果大于0(即至少有一个符合条件的日期),就转为1,否则为0SUMPRODUCT:对所有行的1/0值求和,最终得到符合条件的总行数
方法2:BYROW+COUNT(适用于Excel 365/2021及以上版本)
如果你的Excel支持动态数组函数,用这个更简洁:
=COUNT(BYROW(D3:I30,LAMBDA(row,IF(SUM(--(row>=K4)*(row<=L4))>0,1,NA()))))
逻辑说明:
BYROW遍历D3:I30的每一行,用LAMBDA判断当前行是否存在符合条件的日期- 若存在返回1,不存在返回NA(COUNT会自动忽略NA值)
COUNT统计所有返回1的行数,就是目标结果
关于你之前SUMPRODUCT出错的排查
如果之前用SUMPRODUCT返回0或#N/A,可能是这两个原因:
- 日期格式不统一:确保D3:I30、K4、L4都是日期格式,而非文本格式
- 公式语法错误:比如运算符前后多了空格,或者引用区域范围不对
内容的提问来源于stack exchange,提问作者DKeeler
相关产品推荐
相关产品推荐

