码迷,mamicode.com
首页 > 其他好文 > 详细

EXCEL VLOOKUP函数正确,结果却总是#N/A 或无结果

时间:2019-07-04 18:56:00      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:col   根据   ble   区域   ==   第一个   vlookup   结果   strong   

最近使用EXCEL2016在做数据匹配,我要将一个工作表里的数据匹配到另外一个工作表里,但是vlookup函数格式都填写正确,结果却总是#N/A,也就是没有任何输出结果,网上查找了很多资料,都是非常顺利的,没有这种问题,还是只能靠自己尝试了,最终发现了一个问题。具体咱们看下面的内容:

VLOOKUP函数介绍

VLOOKUP(lookup_value,table_array,col_index_num,[rang_lookup])

lookup_value:查找值
table_array:查找区域
col_index_num:返回查找区域第几列
[rang_lookup]:查找模式,0表示精确查找,1表示模糊查找

举例1如下:

一个匹配数据源表如下

技术图片

现在已知账号 lisi,要匹配出他的其他所有信息

技术图片

对应的函数可以这么写

在H2单元格那边输入 ==VLOOKUP($G2,$A$2:$D$5,2,0)

技术图片

要匹配的数值是lisi,所以第一个参数lookup_value 为$G2

第二个参数是要用来匹配的区域是A2到D5的四方形区域,所以写成$A$2:$D$5 ,加了$的原因在于如果我此处匹配的账号不只是lisi,还有其他的账号,就可以通过下拉的方式,这样采用$可以固定区域,不然写成A2:D5的话也是可以的,但是如果要下拉的话,就会变成A3:D6了,会自动增加数字

第三个参数是返回匹配区域的第几列数值,这边要的是省份,是第2列,所以填

第四个参数是精确匹配,所以填 0

根据以上 I2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,3,0)

J2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,4,0)


以上是一种很普遍解释VLOOKUP使用方法的例子,但是难道工作中你们没有碰到没有这么符合常规的数据吗?我碰到过,接下来咱们看下另外一种例子,你会发现所有VLOOKUP函数的使用方法跟上面写的一样,但就是没有结果,也就是输出结果为#N/A


特殊举例如下:

需求还是跟上面的一样,只是匹配数据源表格顺序换了,注意看,账号是在第三列了,而上面账号是在第一列

技术图片

这个时候按照上面对函数的理解

H2单元格输入的是 =VLOOKUP($G2,$A$2:$D$5,1,0) 但结果却是 #N/A

后面I2和J2就不用说了,一样的结果。

我按照上面例子仔细观察,发现就是要查找的列在查找区域中不是第一列(咱们给他称为公共列),公共列不在查找区域第一列,可能是一个突破点,因此我做了一个测试,修改查找区域范围

先不管H2要得到的结果是什么, 输入 VLOOKUP($G2,$C$2:$D$5,2,0) 得到的结果是福建分公司,也就是说这个时候可以了。

因此我判定 VLOOKUP的一个关键是公共列要在第一列才是使用函数成功的关键,具体原因不明,也可能是我误解了(若有发现规则的,欢迎告知,感谢!)

所以改动如下,将“账号”列复制,插入到第一列,结果如下

技术图片

I2输入的是 =VLOOKUP($H2,$A$2:$E$5,2,0) 后面几个单元格做对应修改,你会发现成功了

EXCEL VLOOKUP函数正确,结果却总是#N/A 或无结果

标签:col   根据   ble   区域   ==   第一个   vlookup   结果   strong   

原文地址:https://blog.51cto.com/767142104/2417122

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!