你的VLOOKUP是否提取了错误的数据,或者你根本无法使其工作?本教程展示了如何快速修复常见的VLOOKUP中的#N/A错误并克服其主要限制。
?在VLOOKUP公式中,当Excel找不到查找值时,会显示#N/A错误消息(意思是“不可用”)。这可能有几个原因。
首先检查最明显的事情总是一个好主意:当你处理由数千行组成的非常大的数据集时,或者当直接在公式中键入查找值时,会经常出现打印错误。
如果你的公式查找最接近的匹配项(range_lookup参数设置为TRUE或忽略),则#N/A错误可能出现在两种情况下:
查找值小于查找数组中的最小值。
查阅列未按升序排序。
如果你正在搜索完全匹配(range_lookup参数设置为FALSE),则当找不到与查找值完全相等的值时,会出现#N/A错误。
VLOOKUP最显著的限制之一是它不能向左查。因此,查找列应该始终是表数组中最左边的列。在实践中,我们经常忘记这一点,最终会出现#N/A错误。
解决方案:如果无法重组数据以使查找列位于最左边的列,则可以将INDEX和MATCH函数一起用作VLOOKUP的替代方法。
VLOOKUP公式中另一个常见的#N/A错误源是主表或查找表中格式化为文本的数字。
这种情况通常发生在从某个外部数据库导入数据时,或者在数字前键入撇号以显示前导零时。
以下是格式化为文本的数字的最明显指标:
解决方案:选择所有有问题的数字,单击错误图标,然后从上下文菜单中选择“转换为数字”。
这是VLOOKUP#N/A错误最不明显的原因,因为人眼很难发现这些额外的空间,尤其是在处理大多数条目都在滚动下方的大型数据集时。
为了确保VLOOKUP公式的正确工作,请将查找值包装在TRIM函数中:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
如果查找列中出现额外的空格,则无法简单地避免VLOOKUP中的#N/A错误。相反,你可以将INDEX、MATCH和TRIM函数的组合用作数组公式:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
由于这是一个数组公式,请不要忘记按Ctrl+Shift+Enter以正确完成它(在Excel 365和Excel 2021中,数组是原生的,这也可以作为常规公式使用)。