如何使用INDEX MATCH函数实现指定索引行的乘积求和?
解决匹配行的乘积求和问题
你之前的公式只能获取第一个匹配值,是因为MATCH函数仅返回第一个符合条件的单元格位置,导致INDEX只能提取单个值,自然无法实现多行列的乘积求和。以下是几种可行的解决方案:
方法1:使用SUMPRODUCT函数(兼容所有Excel版本)
这是最通用的写法,无需特殊输入操作:
=SUMPRODUCT((A2:A5=A7)*B2:B5*C2:C5)
原理:
(A2:A5=A7)会生成一个布尔数组,匹配A7值的行会返回TRUE(等价于1),不匹配的返回FALSE(等价于0)- 该数组与
B2:B5、C2:C5对应相乘后,只有符合条件的行才会保留B*C的结果,其余行结果为0 SUMPRODUCT会自动对所有结果求和,最终得到目标值78
方法2:使用数组公式(旧版Excel需按Ctrl+Shift+Enter输入)
如果是Excel 2019及更早版本,可使用数组公式:
=SUM((A2:A5=A7)*B2:B5*C2:C5)
注意:
输入公式后需按Ctrl+Shift+Enter三键结束(新版Excel支持自动识别数组,无需此操作),原理与SUMPRODUCT一致,通过条件筛选后计算乘积和。
方法3:Excel 365/2021专属动态数组写法
若使用支持动态数组的Excel版本,可结合FILTER函数更直观地实现:
=SUM(FILTER(B2:B5,A2:A5=A7)*FILTER(C2:C5,A2:A5=A7))
原理:
FILTER(B2:B5,A2:A5=A7)提取所有匹配A7的B列值,FILTER(C2:C5,A2:A5=A7)提取对应C列值- 两组提取结果对应相乘后,用
SUM求和即可得到最终结果
内容的提问来源于stack exchange,提问作者Murcie
相关产品推荐
相关产品推荐

