发布网友 发布时间:2022-04-20 21:39
共1个回答
热心网友 时间:2023-09-09 07:26
vlookup函数匹配不出来的原因是数据类型不一致、 查找范围错误、匹配列不在左边、 查找值中有空格、数字和文本格式不统一。
1、数据类型不一致
vlookup函数默认情况下是精确匹配,如果两个数据的格式不同,就会导致匹配失败。比如,一个文本型,一个数值型,或者是一个日期格式一个普通字符串等。
2、查找范围错误
如果选择的查找范围与所查找的数据列不符,也会导致匹配失败。
3、匹配列不在左边
vlookup函数需要确定匹配列的位置(即根据哪一列进行查找),默认情况下匹配列应该在表格区域的左侧。如果匹配列在表格区域的右侧,此时函数会查找不到匹配结果。
4、查找值中有空格
如果查找值中有空格,而参照区域没有使用TRIM函数去掉空格,那么就会导致匹配失败。因为TRIM函数可以去掉数据前后空格。
5、数字和文本格式不统一
这种情况下,如果参照区域的值格式被设置为文本格式,则函数还是无法正确地匹配。
vlookup参数说明
Lookup-value为需要在数据表第一列中进行查找的值。Lookup_value可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。
Table-array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
colindexnum为tablearray中查找数据的数据列序号。colindexnum为1时,返回table_array第一列的值,colindexnum为2时,返回tablearray第二列的值,以此类推。如果colindexnum小于1,函数VLOOKUP返回错误值#VALUE!如果colindexnum大于tablearray的列数,函数VLOOKUP返回错误值#REF!
Rangelookup为一逻辑值,指明函数VLOOKUP查找时是精确匹配,还是近似匹配。如果为FALSE或0,则返回精确匹配,如果找不到,则返回错误值#N/A。如果rangelookup为TRUE或1,函数VLOOKUP将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookupvalue的最大数值。
应注意VLOOKUP函数在进行近似匹配时的查找规则是从第一个数据开始匹配,没有匹配到一样的值就继续与下一个值进行匹配,直到遇到大于查找值的值,此时返回上一个数据(近似匹配时应对查找值所在列进行升序排列)。如果rangelookup省略,则默认为1。