Excel 的 VLOOKUP 如何处理多字查找值?

Excel 的 VLOOKUP 如何处理多字查找值?

我有一个工作表返回了意外VLOOKUP结果,我正在尝试缩小问题范围。我在寻找解决方案时遇到了一个无法回答的问题。

考虑一下:我有一个包含国家列表的查找字段。如果列表中的条目之一是Great Britain,是否VLOOKUP分析单元格中的整个字符串?还是仅分析第一个单词?

进一步考虑:如果我United States在单元格中有,并且我正在将该值与我的VLOOKUP集合进行比较,那么当我遇到时会发生什么United Arab Emirates?查找会因为匹配而停止吗?还是因为它试图将字符串与查找值United进行匹配而继续?United StatesUnited States

最好将包含空格的查找词括在单引号或双引号中,或者甚至根据去掉空格的单元格值进行比较吗?

答案1

VLOOKUP有 2 种匹配模式 - 精确和近似。它们有许多细节,在来源中列出:VLOOKUP 帮助。不过,有两句话与这个问题相当相关:

搜索时文本table_array 第一列中的值,请确保 table_array 第一列中的数据没有前导空格、尾随空格、直引号( ' 或 " )和弯引号( ' 或 “)的不一致使用,或非打印字符。在这些情况下,VLOOKUP 可能会给出不正确或意外的值。

还有一个:

如果 range_lookup 是错误的并且 lookup_value 是文本,然后您可以使用通配符、问号 (?) 和星号 (*),在 lookup_value 中。问号匹配任何单个字符;星号匹配任何字符序列。如果要查找实际的问号或星号,请在字符前键入波浪符号 (~)。

因此,根据您的需要,只需指定所需的选项并按照说明使用通配符即可。希望这对您有所帮助!

答案2

似乎您只是忘记提供FALSE(或0简短版本)作为的第 4 个参数VLOOKUP。这会将其设置为精确匹配模式,即它将检查第一列中的每个条目是否完全匹配。

如果您省略FALSE,Excel 会假定您的第一列已排序 - 并应用效率更高的二进制搜索算法 - 但如果未排序或元素未包含在列表中,则会提供错误的结果。有关更多详细信息,请参阅我的解释在这里

相关内容