VLOOKUP函数匹配结果不正确?错误结果是怎么得出来的?[已
解决]
匹配结果不正确主要是以下2个⽅⾯⼊⼿:
是否是精确匹配(range_lookup 参数为 FALSE或0)
检查所有的数据是否带空格等
[官⽅帮助⽂档]Microsoft Excel 中 VLOOKUP 的语法和⽤法
语法
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
VLOOKUP 函数语法具有下列:
lookup_value 必需。要在表格或区域的第⼀列中搜索的值。lookup_value 参数可以是值或引⽤。如果为 lookup_value 参数提供的值⼩于 table_array 参数第⼀列中的最⼩值,则 VLOOKUP 将返回错误值 #N/A。
table_array 必需。包含数据的单元格区域。可以使⽤对区域(例如,A2:D8)或区域名称的引⽤。table_array 第⼀列中的值是由lookup_value 搜索的值。这些值可以是⽂本、数字或逻辑值。⽂本不区分⼤⼩写。
col_index_num 必需。table_array 参数中必须返回的匹配值的列号。col_index_num 参数为 1 时,返回 table_array 第⼀列中的值;
col_index_num 为 2 时,返回 table_array 第⼆列中的值,依此类推。如果 col_index_num 参数:⼩于 1,则 VLOOKUP 返回错误值#VALUE!。⼤于 table_array 的列数,则 VLOOKUP 返回错误值 #REF!。
range_lookup 可选。⼀个逻辑值,指定希望 VLOOKUP 查精确匹配值还是近似匹配值:如果 range_lookup 为 TRUE 或被省略,则返回精确匹配值或近似匹配值。如果不到精确匹配值,则返回⼩于 lookup_value 的最⼤值。要点如果 range_lookup 为 TRUE 或被省略,则必须按升序排列 table_array 第⼀列中的值;否则,VLOOKUP 可能⽆法返回正确的值。如果 range_lookup 为
FALSE,则不需要对 table_array 第⼀列中的值进⾏排序。如果 range_lookup 参数为 FALSE,VLOOKUP 将只查精确匹配值。如果 table_array 的第⼀列中有两个或更多值与 lookup_value 匹配,则使⽤第⼀个到的值。如果不到精确匹配值,则返回错误值#N/A。
注解
lookup函数查不正确在 table_array 的第⼀列中搜索⽂本值时,请确保 table_array 第⼀列中的数据不包含前导空格、尾部空格、⾮打印字符或者未使⽤不⼀致的直引号(' 或 ")与弯引号(‘ 或 “)。否则,VLOOKUP 可能返回不正确或意外的值。在搜索数字或⽇期值时,请确保
table_array 第⼀列中的数据未存储为⽂本值。否则,VLOOKUP 可能返回不正确或意外的值。
如果 range_lookup 为 FALSE 且 lookup_value 为⽂本,则可以在 lookup_value 中使⽤通配符-问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查实际的问号或星号,请在字符前键⼊波形符 (~)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。