如何在Excel中对HLOOKUP所有匹配项的对应值求和?
解决HLOOKUP多匹配项求和的问题
这问题我太熟了——HLOOKUP天生就只返回第一个匹配的结果,要把所有匹配项对应的第2行值加起来,咱们有两个实用的方案,分Excel版本来看:
方案1:兼容所有Excel版本(包括旧版)用SUMPRODUCT
直接用这个公式就能搞定:
=SUMPRODUCT((A1:E1="apple")*A2:E2)
公式解释:
(A1:E1="apple"):这部分会生成一个由TRUE/FALSE组成的数组,凡是第一行等于apple的列,对应位置是TRUE(在运算里等价于1),不匹配的是FALSE(等价于0)- 乘以
A2:E2之后,只有匹配列的第2行数值会被保留(1×数值),不匹配的列会变成0,最后SUMPRODUCT自动把这些值求和
比如你的场景里,A1和C1是apple,A2=100、C2=70,公式就会计算1*100 + 0*[B2] +1*70 +0*[D2]+0*[E2],结果就是170,完美符合需求。
方案2:Excel 365/2021及以上版本用SUM+FILTER
如果你的Excel是新版本,用这个更直观:
=SUM(FILTER(A2:E2, A1:E1="apple"))
公式解释:
FILTER(A2:E2, A1:E1="apple"):直接从第2行里筛选出对应第一行是apple的所有数值,得到一个包含100和70的数组- 再用SUM把这个数组里的数加起来,结果同样是170
不管匹配项有多少列,这两个公式都能自动识别并求和,完全不用手动调整。
内容的提问来源于stack exchange,提问作者Avinash
相关产品推荐
相关产品推荐

