Excel多条件求和问题:匹配指定月份且类别属于列表的公式实现
Excel双条件匹配求和公式解决方案
方案1:Excel 365/2021及以上版本(支持动态数组)
直接使用SUM+FILTER组合实现多条件匹配,公式如下:
=SUM(FILTER(【要求和的数值列】,(L:L=(C$1-$K$2)*12+MONTH(C$2&1))*ISNUMBER(XMATCH(M:M,I:I))))
说明:
- 把
【要求和的数值列】替换为你实际需要加总的数据范围(例如你存储金额/数量的列,建议使用实际数据范围如N2:N1000代替整列引用N:N,提升计算效率) - XMATCH会自动匹配M列内容是否存在于I列的指定列表中,返回布尔值参与条件判断
方案2:全Excel版本兼容(含2019及更早版本)
使用SUMPRODUCT函数实现数组条件判断,无需依赖动态数组功能:
=SUMPRODUCT(【要求和的数值列】*(L:L=(C$1-$K$2)*12+MONTH(C$2&1))*IFERROR(MATCH(M:M,I:I,0)>0,0))
说明:
- MATCH函数第三个参数设为0代表精确匹配
- IFERROR用来处理M列内容不在I列表中时返回的#N/A错误,避免公式计算异常
- Excel 2019及更早版本输入公式后,需要按
Ctrl+Shift+Enter三键结束数组公式输入
注意事项
- 如果I列存在空白单元格,公式会默认匹配M列的空白行,如需排除请将I列的引用改为实际有内容的固定范围,例如I2:I8
- 所有范围尽量使用和实际数据行数一致的固定范围,不要使用整列引用,可大幅降低表格计算负荷
内容的提问来源于stack exchange,提问作者William Pontoppidan
相关产品推荐
相关产品推荐

