本文转载自公众号:解晴新生,作者:解晴。感谢作者无私分享! 不少朋友问:明明表格中有我要查找的数据,可用Excel Vlookup函数总是出错,为什么? 让我们先来回忆一下Vlookup函数的使用方法。 虽说我们看到的错误返回值常见的只有“#N/A”、“#REF!”和错误的结果。不过实际上有多种原因会造成这些错误。 错误代码解释:
单元格引用出错 这大概是新手最容易犯的一个错误了。 新手们经常会将Vlookup函数的参数都设置成相对引用,然后看到第一个Vlookup公式正确了,就直接下拉填充,结果后面的公式的查找范围分别下移了一行,导致查找到了错误的数据或“#N/A”。 所以,通常Vlookup函数的第二个参数,也就是查找的范围我们建议使用绝对引用。 返回值引用超出了数据范围 这个错误通常发生在表格中有很多列的数据,或要查找的数据范围不在第一列时。 第二个参数查找范围的第一列就是Vlookup使用时可以返回的第一列。也就是说,查找范围是“$A$2:$C$18”时A列是第一列,查找范围是“$B$2:$C$18”时B列是第一列。 Vlookup第一个参数不是查找范围的第一列 这也是新手们不了解的一个知识点。 Vlookup函数第一个参数必须是在第二个参数指向的区域的第一列。如果不是第一列,可以通过调整第二个参数的范围,或剪切单元格的方法来实现。当然也可以使用lookup等其他函数,或使用Vlookup逆序查找公式:“=VLOOKUP(E14,IF({1,0},$B$2:$B$18,$A$2:$A$18),2,0)”。 匹配设置出错 Vlookup函数的最后一个参数是0(精确匹配)或1(模糊匹配),省略时表示模糊匹配。不建议省略,即使要省略,也建议在第三个参数后添加一个分号。 空格导致出错 被查找的内容前后有空格,这时可以使用trim函数处理被查找的数据。 注意公式“=VLOOKUP(E14,TRIM($A$2:$C$18),3,0)”输入完毕,必须同时按“Ctrl Shift Enter”键输入,否则将得到“#VALUE!”。 另外,我更推荐大家修改原始的数据,将这些不必要的空格去掉。 数据格式不匹配导致错误 这个常见于数字与文本型数字之间。 当你要查找的是数字,而被查找的区域中显示的是文本型数字;或者相反的情况时,即使你的Vlookup函数没有错误,你仍然会得到错误的结果。 这种时候,应该修改单元格的格式。 通配符冲突导致的错误 当Vlookup函数的第一个参数包含“*、?、~”等通配符时,Vlookup函数就会出错。这时需要使用SUBSTITUTE函数进行处理,将这些符号替换为“~*”、“~?”以及“~~”。 总结 上面说了那么多,其实就一条:Vlookup出错后,我们应该逐一排查它的4个参数,看看是哪个参数出了错。 真正的错误 排除了这些Vlookup函数语法上的错误后,如果表格中确实没有我们要查找的数据,就会得到“#N/A”。 |
|
来自: L罗乐 > 《VLOOUP查询教程》