VLOOKUP函数单列查找正常,多列查找提示值不存在求助
VLOOKUP查找失败的原因与解决办法
问题本质:VLOOKUP有个硬性规则——必须在第二个参数指定的单元格区域的第一列里查找匹配值。你第二个公式用的区域是
'Sheet Name'!A2:E,它的第一列是目标表的A列,但你要找的A2实际在目标表的E列,VLOOKUP只会在A列搜索,自然找不到对应值,触发报错。而第一个公式的区域是'Sheet Name'!E2:E,第一列就是E列,所以能正常匹配。解决方法:
推荐用INDEX+MATCH组合,这是更灵活的跨列查找方案,完全适配你的需求:=INDEX('Sheet Name'!B2:B,MATCH(A2,'Sheet Name'!E2:E,0))逻辑很简单:
MATCH(A2,'Sheet Name'!E2:E,0):在目标表的E列精确匹配A2的值,返回它所在的行位置INDEX('Sheet Name'!B2:B, 上述行位置):根据行号从目标表的B列提取对应的值
要是你坚持想用VLOOKUP,可以用CHOOSE函数重构查找区域,把E列设为区域首列:
=VLOOKUP(A2,CHOOSE({1,2},'Sheet Name'!E2:E,'Sheet Name'!B2:B),2,FALSE)这里
CHOOSE({1,2},E列,B列)会生成一个临时的两列区域,第一列是E列,第二列是B列,这样VLOOKUP就能在E列找到匹配值后,返回第二列的B列内容。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

