我有一个工作表返回了意外VLOOKUP
结果,我正在尝试缩小问题范围。我在寻找解决方案时遇到了一个无法回答的问题。
考虑一下:我有一个包含国家列表的查找字段。如果列表中的条目之一是Great Britain
,是否VLOOKUP
分析单元格中的整个字符串?还是仅分析第一个单词?
进一步考虑:如果我United States
在单元格中有,并且我正在将该值与我的VLOOKUP
集合进行比较,那么当我遇到时会发生什么United Arab Emirates
?查找会因为匹配而停止吗?还是因为它试图将字符串与查找值United
进行匹配而继续?United States
United States
最好将包含空格的查找词括在单引号或双引号中,或者甚至根据去掉空格的单元格值进行比较吗?
答案1
VLOOKUP
有 2 种匹配模式 - 精确和近似。它们有许多细节,在来源中列出:VLOOKUP 帮助。不过,有两句话与这个问题相当相关:
搜索时文本table_array 第一列中的值,请确保 table_array 第一列中的数据没有前导空格、尾随空格、直引号( ' 或 " )和弯引号( ' 或 “)的不一致使用,或非打印字符。在这些情况下,VLOOKUP 可能会给出不正确或意外的值。
还有一个:
如果 range_lookup 是错误的并且 lookup_value 是文本,然后您可以使用通配符、问号 (?) 和星号 (*),在 lookup_value 中。问号匹配任何单个字符;星号匹配任何字符序列。如果要查找实际的问号或星号,请在字符前键入波浪符号 (~)。
因此,根据您的需要,只需指定所需的选项并按照说明使用通配符即可。希望这对您有所帮助!
答案2
似乎您只是忘记提供FALSE
(或0
简短版本)作为的第 4 个参数VLOOKUP
。这会将其设置为精确匹配模式,即它将检查第一列中的每个条目是否完全匹配。
如果您省略FALSE
,Excel 会假定您的第一列已排序 - 并应用效率更高的二进制搜索算法 - 但如果未排序或元素未包含在列表中,则会提供错误的结果。有关更多详细信息,请参阅我的解释在这里。