Excel中对VLOOKUP返回的多列对应值进行求和的问题咨询
多单元格VLOOKUP结果求和实现方案
普通SUM嵌套VLOOKUP无法生效的原因是默认写法下VLOOKUP仅识别第一个查找值,不会遍历输入区域的所有单元格,可按你使用的Excel版本选择对应方案:
方案1:Excel 365/2021及以上版本(支持动态数组)
直接在G1单元格输入如下公式即可,无需额外操作:
=SUM(VLOOKUP(A1:E1, 你的查询表区域, 返回列序号, 匹配模式))
参数替换说明:
- 把
你的查询表区域替换为实际的VLOOKUP查询范围,比如查询值在Sheet2的A列,对应返回值在Sheet2的B列,就写Sheet2!A:B 返回列序号替换为返回值所在列在查询区域的位置,比如上述例子返回B列就是2- 精确匹配填
FALSE,模糊匹配填TRUE
举实际示例:=SUM(VLOOKUP(A1:E1, Sheet2!A:B, 2, FALSE))
公式会自动遍历A1到E1的每个非空值执行查询,空值自动按0计算,最终返回所有查询结果的和。
方案2:Excel 2019及更早版本(不支持动态数组)
需要输入数组公式,写完公式后按住Ctrl+Shift再按回车激活数组运算:
=SUMPRODUCT(IFERROR(VLOOKUP(T(IF({1},A1:E1)), 你的查询表区域, 返回列序号, 匹配模式), 0))
公式中加IFERROR是为了处理输入区域空值、无匹配值的场景,避免返回错误值。
效果验证
按照你给出的示例:
- A1输入2,查询返回2517
- B1输入4,查询返回2034
- C1到E1为空,返回0
最终计算结果为2517+2034=4551,符合预期。
内容的提问来源于stack exchange,提问作者jatsad
相关产品推荐
相关产品推荐

