VLOOKUP不工作(8个原因& 解决方案)

  • Share This
Hugh West

VLOOKUP 是最常见和最有用的功能之一。 由于它被广泛使用,所以很多人都抱怨它不能工作。 VLOOKUP 正确或显示不正确的结果。 虽然 VLOOKUP 有一些限制,但我们得到的大多数错误是由于没有正确理解语法或没有仔细使用它。 在这篇文章中,我将解释为什么 VLOOKUP 不工作。

为了使解释更容易理解,我将使用一个数据集来表示某个水果店的产品信息。 数据集中有5列,它们是 水果 , 订单编号, 数量 (Kg), 价格, 订购日期 .

下载到实践中

欢迎从以下链接下载工作手册。

VLOOKUP在Excel.xlsx中不工作

VLOOKUP不工作的8个原因

1.VLOOKUP不工作,显示N/A错误

在本节中,我将告诉你为什么 #N/A错误 工作时发生的 VLOOKUP函数 我将向你建议最好的解决方案,以避免出现这种情况。 #N/A 错误。

1.1. 前导空格和后导空格

在一个大的数据表中,有多余空间的可能性是很常见的。 而且,很难识别错误,因为除非你仔细浏览数据集,否则你不会得到这个错误。

在这里,我应用了 VLOOKUP 正确的公式。

首先,选择一个单元格来放置你的结果值。

➤ 我选择的细胞 I4

然后,将以下公式输入到 公式吧 .

=Vlookup(h4,b4:f12,2)

在这里,在 VLOOKUP 函数,我选择了单元格 H4 作为 查找_值 ,并选择了范围 B4:F12 作为 表_数组 因为我想知道 订单编号 因此,鉴于 2 作为 col_index_num .

按下 进入 钥匙。 现在,你应该得到 订单编号 的。 查找_up 值,但它会显示 #N/A .

现在,在查看了数据集之后,你会发现 查找_值 苹果公司 有一些领先的空间,这就是为什么 VLOOKUP 是不工作的。

解决方案:

要删除多余的前导或尾部空格,请使用 查找_值 论点与 TRIM功能 内的 VLOOKUP 功能。

让我告诉你,你如何使用 润饰 的功能,在 VLOOKUP 功能。

为了避免 VLOOKUP 错误 在你选择的单元格中键入以下公式。

=vlookup(trim(h4),b4:f12,2)

在这里, 润饰 函数将删除所选单元格的所有现有前导和尾部空格 H4 .

1.2.对于打字错误的VLOOKUP不工作

打字的错误 查找_值 是另一个不工作的原因 VLOOKUP .

在这里,你会看到我在选定的单元格中正确插入了公式。

=Vlookup(h4,b4:f12,2)

按下 进入 键,但没有显示 订单编号 ,它将向你展示一个 #N/A 错误。

现在,请看 查找_值 你将会看到 苹果公司 是不正确的,这就是原因 VLOOKUP 是不工作的。

解决方案:

一定要仔细输入 查找_值 你必须保持数据表中数值的准确拼写。

当我打出 查找_值 因为它是在表中,所以 VLOOKUP 正在工作。

1.3. 数字值格式化为文本

如果数字值被格式化为文本,在一个 表_数组 那么它将向你展示一个 #N/A 使用时出现错误 VLOOKUP 功能。

我将努力获得 价格 通过使用 订单编号 作为 查找_值 .

首先,选择一个单元格来放置你的结果值。

➤ 我选择的细胞 I4

然后,将以下公式输入 公式吧 .

=Vlookup(h4,c4:f12,3)

按下 进入 因此,你会得到 #N/A 错误,而不是 价格 .

现在,如果你通过 订单编号 栏,然后你会看到数字 1001 这就是无法工作的原因。 VLOOKUP .

解决方案:

为了避免这种类型的错误,要经常检查数字值的格式。 在这里,我把数字格式纠正为数字,所以 VLOOKUP 正在工作。

阅读更多。 VLOOKUP在Excel中从单个单元格获取部分文本

1.4.查询值不是最左边的那一列

ǞǞǞ VLOOKUP 函数维护一个序列,这就是 查找_值 必须是 最左栏 如果没有,那么它就不会工作。

我将努力获得 价格 通过使用 订单编号 作为 查找_值 .

因此,我使用了以下公式。

=Vlookup(h4,b4:f12,3)

但在这里 订单编号 的最左边一列不是 table_array B4:F12 这就是为什么它显示 #N/A 错误。

解决方案:

在这里,你可以通过2种方式避免错误。

⏩一个是你可以改变 表_数组 其中 查找_值 将是最左边的一列。

⏩ 第二,你可以把 查找_值 列在数据集表的最左边位置。

阅读更多。 Excel中带有两个查询值的VLOOKUP(2种方法)

1.5.过大的表或插入新的行& 列与值

有时我们在数据集中插入新的数据,但却忘记了改变 表_数组 那么 VLOOKUP 不能正常工作。

我将努力获得 订单编号 通过使用 水果 作为 查找_值 .

因此,我使用了以下公式。

=vlookup(h4,b4:f12,2,false)

在这里,我使用了 完全匹配 类型,以避免误导性的信息,还插入了信息,用于 李奇 但却出现了一个错误,因为我没有更新 表_数组 .

解决方案:

记住,每当你在数据集表中插入新的数据时,都要更新 表-数组 也是。

⏩在这里,我更新了 表_数组 在公式中。

=vlookup(h4,b4:f14,2,false)

⏩ 另一种方法是将你的数据集转换为表。

首先,选择单元格范围。

然后,打开 插入 >> 选择

A 对话框 将会弹出。

然后,点击 认可 .

因为你的数据集现在已经变成了一个表,你只需使用表名即可。

阅读更多。 为什么VLOOKUP在存在匹配时返回#N/A? (5个原因& 解决方案)

2.VLOOKUP不工作,显示VALUE错误

从本节中,你将了解到为什么 #VALUE错误 工作时发生的 VLOOKUP 此外,我还会向你建议所有可能的解决方案,以避免 #VALUE 错误。

2.1.对于柱子索引号小于1的情况

如果你错误地使用了 col_index_num 不到 1 ,那么你将得到 #VALUE 错误。

如果你得到这个 #VALUE 请检查您的 col_index_num 争论。

阅读更多。 Excel中数字的VLOOKUP(4个例子)

2.2. 使用超过255个字符

假设你有一个长的文本作为一个值,它超过了 255 字符,那么你将有 #VALUE 错误。

在这里,在 A7 单元格,我插入了一个超过 255 角色。

然后,使用以下公式

=Vlookup(G4,a4:e12,2)

现在,你可以看到,结果显示的是 #VALUE 错误。

解决方案:

为了避免这个错误,你可以减少字符,或者你可以使用 指数 MATCH函数 而不是 VLOOKUP .

在这里,我使用了 匹配 索引 功能。

=index($b$4:$b$12,match(true,index($a$4:$a$12=g4,0) ,0))

在这里,在 索引 函数选择单元格区域的绝对引用 $B$4:$B$12 我想从那里返回值。

匹配 功能,给定 为真 作为 查找_值 并使用了另一个 index($a$4:$a$12=g4,0) 功能为 lookup_array 然后使用所采取的 0 作为 匹配类型 来使用 完全匹配 .

按下 进入 键,你将得到的结果是 查找_值 超过 255 角色。

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

类似读物

  • Excel中的LOOKUP与VLOOKUP:有三个例子
  • 如何在Excel中使VLOOKUP对大小写敏感(4种方法)
  • Excel VLOOKUP查找列中最后一个值(含替代方法)
  • 如何在Excel中用通配符执行VLOOKUP (2种方法)
  • Excel VLOOKUP垂直返回多个数值

3.VLOOKUP不工作,显示REF错误

在这里,你会知道为什么 #REF错误 工作时发生的 VLOOKUP 功能,同时,你会得到避免以下情况的解决方案 #REF 错误。

3.1. 使用列索引数大于表的方法

如果你使用 col_index_num 大于你在的列的数量。 表_数组 那么你将得到 #REF 错误。

在这里,我使用了 6 作为 栏位数 表_数组 5 总共有几列,这就是为什么 VLOOKUP 函数不工作,显示 #REF 错误。

解决方案:

为了避免 #REF 错误检查 col_index_num 并使用在 表_数组 .

阅读更多。 VLOOKUP在Excel中返回多列数据(4个例子)

4.VLOOKUP名称错误

让我告诉你为什么 #NAME错误 发生,以及你如何能消除它。

4.1. 对于拼写错误的函数名称VLOOKUP不工作

ǞǞǞ #NAME 错误来自于函数名称的拼写错误。

解决方案:

为了避免 #NAME 错误总是使用来自Excel内置函数的适当函数名称。

5.使用近似匹配

如果你使用 近似匹配(TRUE)。 那么就有可能出现以下两种情况 #N/A 错误或 不正确 结果。

我将努力获得 订单编号 通过使用 水果 作为 查找_值 .

因此,我使用了以下公式。

=vlookup(h4,b4:f12,2,true)

但在这里,我给 李奇 作为 查找_值 并使用 为真 作为 范围查询 . VLOOKUP 显示 1007 作为 订单编号 这是不正确的,因为 1007 是指 订单编号 樱桃 .

由于我使用了近似匹配,所以没有显示错误,而是显示了错误的信息。

解决方案:

使用 查找_值 仔细,而不是用 近似匹配 类型,你可以使用 完全匹配 我认为得到一个错误比得到误导性信息要好得多。

你可以用以下公式来总结 IFERROR函数 当它找不到范围内的值时,显示任何错误信息。

6.表的参考是相对的

如果你的 表阵列 是相对引用的,那么你可能会有错误通知或在复制公式到 查询 其他价值。

解决方案:

为了避免这个错误,请使用绝对引用。

按下 F4 在选择参考文献的同时,按键会将其转换为 相对参考 绝对参考 .

在这里,我使用了以下公式

=vlookup(i4,c4:$f$12,2)

7. VLOOKUP不工作 用于插入新的列

如果你在现有的数据集中插入一个新的列,那么 VLOOKUP 函数不起作用。 col_index-num 是用来返回关于一个在 VLOOKUP 职能。 col_index-num 是不持久的,所以如果你插入一个新的,那么 VLOOKUP 不起作用。

在这里,你可以看到 VLOOKUP 功能正常工作。

但在这里我插入了一个新的列,这就是为什么它显示的是 0 而不是显示预期的结果。

解决方案:

⏩ 为了避免这类问题,你可以保护工作表,使任何人都不能插入新的列,但这并不友好。

⏩ 另一个解决方案是你可以使用 匹配 的功能,在 VLOOKUP 功能。

因此,输入以下公式。

=vlookup(i4,b4:g12,match(j3,b3:g3,0),false)

在这里,在 VLOOKUP函数 ,我选择了单元格 I4 作为 查找_值 然后选择范围 B4:G12 作为 表_数组 并作为 col_index_num 用了 匹配 函数,还使用了 失败 作为 范围查询 以获得 完全匹配 .

匹配 函数,我使用列名 J3 作为 查找_值 ,接下来选择列名范围 B3:G3 作为 lookup_array 然后采取 0 作为 匹配类型 来使用 完全匹配 .

按下 进入 因此,你将得到你想要的预期结果。

8.查询值有重复值

如果你的 查找_值 包含重复的值,那么 VLOOKUP 不会对所有的可用值起作用。

VLOOKUP 只返回与你寻找的值相匹配的第一个值。

解决方案:

为了避免这类问题,你可以删除重复的内容,或者你可以使用 透视表 .

⏩ 你可以用以下方法删除重复的内容 删除重复的内容 然后从Ribbon。

⏩ 另外,你可以使用 透视表 .

要使用它。

首先,选择单元格区域

然后,打开 插入 标签>> 选择 透视表

A 对话框 会弹出,选择地方,然后点击 认可 .

现在,你可以选择 水果 订单编号 行数 那么它将显示现有的 订单编号 你选择的 水果 .

阅读更多。 如何使用VLOOKUP查找Excel中的重复值

练习部分

我在工作手册中提供了一张练习表,以练习这些被解释的方法。

总结

在这篇文章中,我试图涵盖所有类型的场景,包括 VLOOKUP 这些不同的方式将帮助你与 VLOOKUP 最后但并非最不重要的是,如果你有任何种类的建议、想法或反馈,请随时在下面评论。

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.