Excel存在匹配值时VLOOKUP返回#N/A或!REF错误问题咨询
错误原因分析
- #REF!错误:你使用的
=VLOOKUP(new_q.csv!$A$67&new_q.csv!$B$67, A2:B28563, 4, FALSE)公式中,指定的查找区域仅包含A、B共2列,但你设置返回第4列的内容,返回列序号超出了查找区域的总列数,因此触发引用错误。 - #N/A错误:有两个核心诱因:
- VLOOKUP规则要求查找值必须位于查找区域的第一列,你将new_q.csv的两个单元格内容拼接作为查找值,但查找区域的第一列是未拼接的A列单值,自然无法匹配到结果;
- 你使用的查找区域
A2:B28563没有添加绝对引用符号$,如果公式被下拉/拖动填充,查找区域会自动偏移,可能漏过实际匹配的行。
解决方案
根据你使用的Excel版本,可以任选以下一种方案:
方案1:适配Excel 2021/365及以上版本(最简便)
使用支持多条件匹配的XLOOKUP函数,无需添加辅助列,直接按需求返回对应列内容:
=XLOOKUP(new_q.csv!$A$67&new_q.csv!$B$67, A:A&B:B, D:D, "无匹配", 0)
注:公式中
D:D为你需要返回的第4列对应的列标,可根据实际需求调整为目标列。
方案2:适配所有Excel版本(INDEX+MATCH组合)
兼容性最强,不需要辅助列,旧版本Excel输入公式后按Ctrl+Shift+Enter触发数组运算即可:
=INDEX(D:D, MATCH(new_q.csv!$A$67&new_q.csv!$B$67, A:A&B:B, 0))
方案3:坚持使用VLOOKUP的改造方案
需要先在当前数据集最左侧插入1列作为辅助列,在辅助列第2行输入公式=B2&C2(拼接原A、B两列的匹配条件),下拉填充整列后,再使用修改后的VLOOKUP公式:
=VLOOKUP(new_q.csv!$A$67&new_q.csv!$B$67, A:E, 5, FALSE)
注:公式中
A:E为包含辅助列+原始所有数据的区域,5为你需要返回的目标列在该区域中的序号,可根据实际列数调整。
内容的提问来源于stack exchange,提问作者nick_rinaldi
相关产品推荐
相关产品推荐

