为什么VLOOKUP在存在匹配时返回#N/A(含解决方案)

  • Share This
Hugh West

我们使用 VLOOKUP (Vertical Lookup)函数在一列中垂直搜索一个值,然后从另一列中返回一个相应的值。 但使用这个函数的一个主要问题是,函数语法可能看起来很复杂,而且还需要维护多个规则。 这可能导致一个错误的结果,如抛出 #N/A 为了解决这个问题,我们已经讨论了5个不同的原因和它们的解决方案,它们可能是背后的因素。 VLOOKUP函数 返回 #N/A 当存在一个匹配的时候。

下载实践工作手册

建议你下载Excel文件,并随即进行练习。

VLOOKUP返回#N/A错误,尽管存在匹配.xlsx

什么是#N/A错误?

ǞǞǞ #N/A 错误代表了 "值不可用"。 当你运行 VLOOKUP 查询整个数据集,但不幸的是,该函数不能检索到预期的结果,那么 #N/A 这个错误的背后可能有几个问题,你将在本文的下一节中了解到。

5个原因,为什么VLOOKUP在匹配存在时返回#N/A

在这篇文章中,我们将使用一个样本产品价格表作为数据集来展示所有的原因。 所以,让我们偷偷地看一下这个数据集。

因此,无需进一步讨论,让我们直接逐一探讨所有问题。

原因1:查询值不存在于Table_array参数的第一列中。

的第一个参数是 VLOOKUP 该函数被称为lookup_value。 该函数正常工作的一个主要要求是,lookup_value应该存在于 表阵列 对于这一规则的任何例外情况 VLOOKUP 函数将返回一个 #N/A 错误。

在下面这张图片中,我们已经插入了公式。

=VLOOKUP($D$14,B5:E12,4,0)

细胞内 D15 .

这里的查询值被存储在单元格 D14 我们可以看到,这个项目没有出现在所选表格阵列的第一列,而是在第二列。

因此,我们可以看到 VLOOKUP 函数已经抛出了 #N/A 错误。

🔗 获得解决方案

1.第一个解决方案。 由于关于查找值的主要要求是它应该存在于表数组的第一列中,所以如果可能的话,你可以将第二列转移到第一列中。

但是,在很多情况下,交换列可能是不切实际的。 因为也许你的第二列是一个公式的结果,或者它也与其他列相连。 所以在这种情况下,你可以考虑第二个解决方案。

2.第二种解决方案。 稍微修改一下表阵列。 目前,表阵列是 B5:E12 如果这个范围从列开始 C 而不是列,即 C5:E12 那么C列将是新定义的表阵列的第一列。 在这种情况下,...。 VLOOKUP 由于你已经改变了表数组,你也必须更新列索引。 对于新分配的表数组,要从 价格 列,新的列索引将是3。

3.第三种解决方案。 你可以使用 索引 匹配 使用这两个函数可以很容易地消除在表格数组的第一列内存在的查找值的障碍。

你需要做的是,简单地用下面的公式替换前面的公式。

=INDEX(E5:E12,MATCH(D14,C5:C12,0))

插入这个公式后,你会看到问题被吹走了,只要你点击 进入 在插入第二个公式后,按下按钮。 轰!"。

阅读更多。 INDEX MATCH与VLOOKUP功能的比较(9个例子)

原因2: 没有找到完全匹配的产品

如果查询值与存储在数据集中的值不完全匹配,则 #N/A 错误将再次出现。

例如,在下图中,我们在单元格中插入了查询值 D14 但不幸的是,在第一栏中没有与Cereal完全相同的词,只有cereals。 这就是为什么 #N/A 已经出现在细胞中 D15 .

🔗 获得解决方案

请注意查询值。 在插入区域内正确写下查询值。 如果你收到任何 #N/A 错误,然后重新检查你的数据集,并相应地纠正你的查询值。 在这个例子中,在单元格中输入Cereals而不是Cereal D14 .

阅读更多。 VLOOKUP不工作(8个原因& 解决方案)

原因3:查询值比阵列中最小的值要小

另一个可能导致的原因是 VLOOKUP 函数来返回 #N/A 错误是查询值小于查询范围内的最小值。

例如,在下面的图片中,查询值是200,而查询范围内的最小值,即在 身份证 列是207。 结果是 VLOOKUP 函数返回 #N/A 错误。

🔗 获得解决方案

确保查询值不小于查询范围内存储的最小值。 将查询值从200改为列内所列的任何值。 身份证 然后,不可用的错误最终会消失。

类似读物

  • Excel的LOOKUP与VLOOKUP:有3个例子
  • 在Excel中使用多条件的VLOOKUP(6种方法+替代方法)
  • Excel中带有通配符的VLOOKUP(3种方法)
  • 如何将Excel的SUMIF & VLOOKUP合并到多个工作表中
  • Excel VLOOKUP垂直返回多个数值

原因4:表查询值中的额外空格

空间对我们来说是看不见的,这就是为什么它们很难被识别。 而这个原因可能会影响到 VLOOKUP 功能。

例如,在下面的图片中,我们的查询值是Candies。 此外,这个值也存在于数据表的查询范围内。 然而,在 VLOOKUP 函数返回 #N/A 错误!

因此,似乎很难找出错误显示背后的确切原因。 嗯,这是因为在 "糖果 "一词后面存在一个额外的尾部空格。 类别 列。

这个问题似乎是一个容易的问题,但它可能导致最严重的痛苦。 因为这些空间是看不见的,很难发现。

🔗 获得解决方案

你可以手动检查数据中的空格是否存在。 或者,你可以使用 润饰 函数来删除所有尾部的空格。

原因5:VLOOKUP语法的Lookup_value参数中的错误

另一个问题可能看起来很傻,但会导致巨大的痛苦。 如果你有任何关于 VLOOKUP 函数,或者只是在寻址查找值时出现了一个简单的错别字,那么这就可能导致错误的展示。

例如,在下图中,查询值在单元格地址中。 D14 但我们已经打出了 D144 这只是一个简单的类型,但会导致 #N/A 相应单元格中的错误。

🔗 获得解决方案

要注意函数语法或任何种类的错别字。 只要简单地保持这些礼仪,你就可以避免 #N/A 错误。

需要记住的事情

📌 确保你的查找值存在于你的表阵列的第一列中。

📌 要小心语法。 VLOOKUP 功能。

总结

总而言之,我们讨论了5个问题及其背后可能的解决方案。 VLOOKUP 函数返回 #N/A 错误,即使在Excel中存在匹配的结果。 建议你下载本文所附的练习工作簿,用它来练习所有的方法。 不要犹豫,在下面的评论部分提出任何问题。 我们会尽快回复所有相关问题。 请访问我们的网站 ǞǞǞ 以探索更多。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.