关于vlookup函数怎么用的问题

VLOOKUP函数基本使用方法及常见问题解析
VLOOKUP函数基本使用方法及常见问题解析
VLOOKUP函数基本使用方法及常见问题解析
( 21:04:51)
VLOOKUP,应该是Excel里使用频率仅次于SUM函数的吧……
所以,这里优先介绍一下VLOOKUP函数的基本使用方法,以及常见错误的简单解析。
VLOOKUP主要的功能是什么呢,什么情况下用这个传说中的函数?
VLOOKUP在Excel里,属于查找/索引函数,就是根据你提供的条件,去数据列表/数据库里把相对应的东西查找并返回来,这也说明一点,那就是使用这个函数的前提是必须有可以能用来查找的数据列表或者数据库。
深刻了解了这一点,以后有需要查找的问题,首先就要想到VLOOKUP函数,同类的查找函数还是LOOKUP、HLOOKUP,而VLOOKUP是Vertical_LOOKUP的简写,HLOOKUP是Horizontal_LOOKUP的简写,以区分他们不同的使用环境和情况,常用还是VLOOKUP。
看图说话,如下图,A、B、C、D列是我们预先做好的数据列表(数据库),现在我们希望在F4单元格里输入名称,然后右边的G4、H4单元格就能自动返回该名称相对应的CODE、PART。
很多Excel新手虽然不知道有查找函数这一回事,但都有这个设想,至于用什么方法完全没有概念。
如下,G4单元格只需要将下面的公式复制并粘贴进去,G4单元格就可以显示“AT002”了:
=VLOOKUP(F4,B:D,2,FALSE)
-------------------&
语法介绍:下面我们详细分析一下VLOOKUP函数的语法和各个参数应该注意的内容。
VLOOKUP(lookup_value,
table_array, col_index_num, [range_lookup])
如上为VLOOKUP函数的语法规则,我们用什么函数,都必须以其语法规则为准则书写对应的参数,而不是按自己想当然的方式把自己认为可以的东西写到参数里去。
如上语法,以逗号为分隔,VLOOKUP函数总共有4个参数:
lookup_value,这是第一参数,表示需要查找的内容。
就像我们前面讲的例子,F4单元格的“NAME”,就是我们需要在数据列表或数据库中查找的内容。
table_array,这是第二参数,表示的是你要从中匹配查找并返回结果的数据区域。
上例中我们使用的是B:D,表示B列到D列的全部区域,这是比较简单快捷的写法,而负责任一点的写法,应该是$B$2:$D$13,因为这个才是我们要查找并返回结果的有效数据区域,如果数据区域下方还有别的数据,那最好还是使用后面用具体区域的写法。
这个参数里有两点必须注意的:
数据区域的第一列,必须是你第一参数中指定要查找的内容的那个字段。
可能你看不明白,这样来说吧,我们例子要找的是“NAME”,那么第二参数里指定的区域,必须以NAME那一列为第一列,虽然我们的数据库是A列到D列,但我们在参数里只能写B:D,而不能写A:D,因为A:D的第一列是“NO.”,不是我们要查找的“NAME”……
如果我们现在想根据“NO.”返回后面对应的“NAME”,那就可以以A:D作为数据区域。
这里也引申出一点,就是VLOOKUP只能从左往右查找,如果想从右往左查找,则需要另外构造数据源或者换函数,新人们使用过程中要遵循这一点,不要想当然了。。
2&. 数据区域里,必须包含你要返回的字段。
例子中要返回的是“CODE”,而B:D列则包括了C列,所以是成立的,如果只写B:B,就没办法返回我们要的值了。
col_index_num,这是第三参数,表示你要返回结果的值(的字段),在你第二参数里指定的数据区域中的第几列。
这个很好理解,例子里我们写的是“2”,因为以NAME为第一列,CODE则是B:D区域中的第2列,那么后面H4单元格的公式,我们要返回的是PART,你就应该知道这个公式应该怎么修改了吧?
有时候可能你会看到别人用COLUMN()放在这个参数里,这又表示什么意思呢?(作为思考题吧)
[range_lookup],这是第四参数,表示的是要在数据库中查找数据的匹配方式,有两种参数可以选择,TRUE和FALSE,其中True表示模糊查找,False表示精确查找。
这个参数使用了中括号,表示该参数是可省略的,而省略的时候,默认使用TRUE,也就是模糊查找方式;
True和False我们简单描述是模糊与精确的关系,但实际上使用True时,要求你要匹配的列,必须是按“升序”排列好的,比如说上例中如果我们最后的参数用的是True,那么B列的NAME就首先要按从小到大排序好,不然就匹配不到结果,可能结果正确但那也只是碰巧。
而False则没有排序的这个要求,你的数据可以是乱序的,因此通常情况下,我们使用的都是False。
-------------------------
加个小插曲,如下图,先看看下面这5个公式,其区别在于第四参数,你能辨识她们各自代表的查找方式是哪一种吗?她们又有什么区别呢?
首先,先科普一个小知识,在Excel表格中(与VBA的定义有区别),False能转化为数值0,而True能转化为数值1,所以你可以用0表示False,用非0的数值表示True。以此作为背景,我们再来解释上面这5个公式函数的含义和区别,这个也经常应用在其他很多公式参数的书写上。
首先,公式1、2、3这三个公式代表的含义和查找方式是一样的,也就是FALSE的精确查找方式;
后面,公式4、5两个公式,使用的则是TRUE的模糊查找方式。
有上面的小知识作为解读的依据,其实就不难明白了,更多疑惑的应该是公式3和公式4,为什么差距这么大呢?
首先,公式4已经完全省略了第四个参数,参考语法规则,省略第四参数的情况下,按True进行模糊匹配,这样说你应该容易理解也没有异议吧?
那么第3条公式呢?我们可以注意到,公式3的最后面有一个逗号,这个逗号有跟没有是有本质上的区别的,有的话就表示我们需要使用第四参数,而不是省略,而后面没有数值,Excel就按“空值”来处理,而空值转化为具体的数值,就是0,所以又回到公式2的情况。
这是Excel的智能,也是我们的苦恼,因为有时候当你用VLOOKUP要返回的那一列的值是空的时候,VLOOKUP公式给你提供的结果会是“0”,而不是空白单元格。
语法介绍完了,示例公式里为什么那样写也基本上解读完了,现在,你试一下自己书写H4单元格的公式吧!
有兴趣可以用你自己书写的公式回复这条博客哦……
------------------------------
错误处理:下面我们说说常见的一些错误,并按下面罗列的可能原因按顺序排查即可:
<font style="FonT-FAMiLY: 微软雅黑" color="#.
#N/A& - “数据缺失错误”,最直接的解读就是告诉你,在你指定的数据区域的第一列里,找不到你第一参数说的那个值
看一下你第二参数指定的区域的第一列,是不是你第一参数要查找的值所在的那一列,有时候可能你选错区域了;
第四参数有没有使用错误?如果是True的话,数据匹配区域第一列要按“升序”排列哦;
第二参数引用的区域,所使用的单元格引用方式是否正确,如果未用绝对引用,下拉填充过程中,查找区域会逐渐变小哦;
用Excel的“查找”功能,手动在数据列表里查找一下你第一参数要找的值,看是不是存在;
确认一下查找值与数据列表的值的数据格式是否一致,有可能你提供的是文本,而数据库里是数值,或者相反;
确认一下查找值与数据列表里的值是否完全一致,有时候一方的值的后面会有多余的空格或者其他不可见字符;
2. #REF! -
“引用无效错误”,表示你第三参数指定要返回的第几列,压根就没包括在你第二参数指定的区域里
怎么修改就应该一目了然了吧?
--------------------------
错误屏蔽:某些情况下,我们写的公式检查没有错,但数据列表里确实不存在要查找的值,那就铁定会返回#N/A错误,毕竟我们都喜欢整洁,不想表格里零零落落分布着#N/A错误,那可怎么办呢,有没有办法在公式里屏蔽这样的错误呢?
答案是肯定的,一般人会直接教你用=IF(ISERROR(原公式),"",原公式),或者=IF(ISNA(原公式),"",原公式),这什么意思呢?就是用ISERROR函数,判断你“原公式”返回的结果是不是错误值,如果是就显示""(空值),也就是什么都不显示,如果没有错误,就显示原公式的结果。
拿上面的例子来说,我们处理后的结果应该是:
=IF(ISNA(VLOOKUP(F4,B:D,2,FALSE)),"",VLOOKUP(F4,B:D,2,FALSE))
当然,我会觉得这样的公式太长,所以一般会教人使用=IF(COUNTIF(),原公式,""),这种方式样写出来的公式就是:
=IF(COUNTIF(B:B,F4),VLOOKUP(F4,B:D,2,FALSE),"")
而自从07版新增IFERROR函数之后,我们在xlsx格式的文档中写容错公式就可以更简洁了,直接写为:
=IFERROR(原公式,"")
如:=IFERROR(VLOOKUP(F4,B:D,2,FALSE),"")
----------------------------
另外说一下,源数据里NO.5和NO.12的NAME是一样的,如果我们同样使用“Michel”来查询后面的值,返回的只会是排在前面的NO.5的记录哦,这一对一查找也算是VLOOKUP的一个特性,因此用VLOOKUP查找时有多种查询关键值时最好是使用如号码、证件号等有唯一性的关键词,而姓名、地区等可能有重名的则不能为首选,不然会徒劳无功哦。
至于一对多的查找,那需要用复合函数嵌套,如典型的INDEX+IF+SMALL+MATCH+ROW
语法和使用其实很简单,但要注意的小细节也非常多,这里也没办法一一列举,比如说如何确认查找值与被查找值的数据类型是否一致,当我们希望从右往左查询时怎么变换?这都需要其他方面的综合经验,因此需要多用、甚至多犯错才能吸收,才能运用自如。
VLOOKUP的姐妹函数HLOOKUP语法和使用均是一样的,是当你的源数据列表的形式是“转置”的形式时使用,骚年,加油吧……VLOOKUP是把利器啊,灵活运用可以大大提高工作效率,比如说对比两列数据是否一致!
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&关于vlookup函数的问题_百度知道
关于vlookup函数的问题
一样的显示数字,大神看我公式没错吧.jpg" />自己没事儿闲的试试比对的功能.com/zhidao/pic/item/3b87ecdbc6dc14fdf2b,为什么第三行的数比不对呢.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://d?其他不同的数都可以比对出来./zhidao/wh%3D450%2C600/sign=9db01d0fd709b3deebeaec6cf98f40b7/3b87ecdbc6dc14fdf2b.jpg" esrc="/zhidao/wh%3D600%2C800/sign=464faa3c6b78a268fd31/3b87ecdbc6dc14fdf2b.baidu://d.hiphotos公式没有问题.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http:$E$16。标记红色的两列才是数据应该相等的.jpg" />你的函数是 在E列。要的不是这个.com/zhidao/wh%3D600%2C800/sign=0fe530d1cf177f3eff17ff/a2cc7cd98dcb668be0e7bec54e79741://g,查找和B列对应的.hiphotos,是公式错了,如果没有就N/A,好吧,问题在哪呢,那么把公式改成=VLOOKUP(B2.baidu://g.com/zhidao/wh%3D450%2C600/sign=dc79f3d8fb4ec348f91e127/a2cc7cd98dcb668be0e7bec54e79741.jpg" esrc="http.baidu.baidu,0)下拉://g?<a href="http.hiphotos.hiphotos。好拗口,1,那么返回的是和B列相等的E列的值,$/zhidao/pic/item/a2cc7cd98dcb668be0e7bec54e79741。如果你看错的是你想要的。是你看错了
图中,当前单元格公式VLOOKUP的第1参数是B3,也就是26。VLOOKUP(26,E$2:E$16,1,FALSE)是在E2:E16中精确查找有没有26这个内容,有就返回26本身,没有就返回错误。所以,当然返回26.
你的意思,这里不是查找B3,而是查找E3:=VLOOKUP(E3,$B$2:$B$16,1,0)
你第三行,是在E列查找26,如果有的就返回E列中26所在行对应的第一列啊所以结果无误
你这个用b3(26)在e列中查26,肯定查到26了呀,返回26呀。公司没错
为什么第三行的数比不对什么意思?
通过这个公式,应该得出NA,但是它得出的是26,不知道为什么
你的公式的意思是查找b列的数字是否在E列中有对应的值,如果有返回E列中的值,26在E列中是有的啊,为什么是NA呢?
vlookup函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于VLOOKUP函数的问题_百度知道
关于VLOOKUP函数的问题
请问下应该怎么改了,但在链接数据表A1,2;&quot:$B$1001,比如我现在A11是C22,他就显示C2194这个条件的值,VLOOKUP(A11;。。?谢谢:B1001里面没有C22这个数据!$A$1,链接数据,0)我现在有个这个公式,TRUE),只有C2194=IF(A11& &quot
提问者采纳
链接数据,))找不到就返回0!$A$1,)),2!$A$1:$B$1001:$B$1001,找到就返回相应值,,链接数据=IF(isna(match(A11,VLOOKUP(A11
你这个找不到的确实返回0值了。但找的到的也没有值了。。。麻烦再改下。。谢谢。
链接数据表中,A列中C22所对应的B列值是多少?这个公式会返回C22所对应的B列值,如果所对应的B列值为0或空,也是返回0。不过,看了你发的另几贴,你好象要求找不到就返回C2194所对应的B列值。如果是这样,你的公式是可以的。但要求链接数据表的A列必须以升序排列,且C2194下面的一定要比C22要大,否则无法完成。
来自团队:
其他类似问题
为您推荐:
vlookup函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 13626|回复: 9
关于VLOOKUP函数找不到值怎么办?
初级一, 积分 18, 距离下一级还需 32 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
免费注册成为本站会员,享用更多功能,结识更多Office办公高手!
才可以下载或查看,没有帐号?
本帖最后由 雪落的无声 于
11:11 编辑
我在使用VLOOKUP查找另一个表格相应的数值时发现有的符合条件但却不返回相应的值,不知道是字体不一样还是什么,公式是这样的:=VLOOKUP(A5,[销量.xls]SHEET1!$A:$D,3,0),能不能设置一下将查找对象这个文档中能够找到的标记个颜色,这样我就找到哪些符合条件但没有返回值这样的数据了,比如在坚美士单光白牛中A233没有找到,而在销量中A12却有对应的值370,不找到是为什么啊,由于数值太多,我无法一个个看哪个没有找到,希望大家能解决我的问题。请各位帮忙,谢谢了
11:11 上传
点击文件名下载附件
194.78 KB, 下载次数: 16
关于VLOOKUP函数找不到值怎么办?
学office,哪能不关注全网最大的Office类微博(新浪)
联系方式:请发站内消息给站长 apolloh
1、请上传压缩后的表格附件,以便解决具体问题。
2、VLOOKUP函数无法引用被查询数据的字体、颜色等格式;
3、如果VLOOKUP查找不到出错,可以使用函数屏蔽,比如:=IF(ISNA(MATCH(A2,[销量.xls]SHEET1!$A:$A,0)),&&,VLOOKUP(A2,[销量.xls]SHEET1!$A:$D,4,0))复制代码=IF(COUNTIF([销量.xls]SHEET1!$A:$A,A2),VLOOKUP(A2,[销量.xls]SHEET1!$A:$D,4,0),&&)复制代码
学office,哪能不关注全网最大的Office类微博(新浪)
高级一, 积分 1457, 距离下一级还需 443 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
我在使用VLOOKUP查找另一个表格相应的数值时发现有的符合条件但却不返回相应的值,不知道是字体不一样还是什么,公式是这样的:=VLOOKUP(A2,[销量.xls]SHEET1!$A:$D,4,0),能不能设置一下将查找对象这个文档中能够找到 ...
雪落的无声 发表于
楼主的意思我明白了,有可能是格式不对,或者有看不见的字符才会 导致你出现这种情况的
建议你看此帖,或许对您有所帮助
学office,哪能不关注全网最大的Office类微博(新浪)
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
雪落的无声
楼主看一下是不是数值格式不同,如其中有文本型数值就会找不到。
还解决不了就请上传附件
学office,哪能不关注全网最大的Office类微博(新浪)
初级一, 积分 18, 距离下一级还需 32 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
各位大虾,我已经帮附件上传了,请各位帮个忙,谢谢。
学office,哪能不关注全网最大的Office类微博(新浪)
联系方式:请发站内消息给站长 apolloh
两个文件的A列,尾部有空格。查找替换掉,然后用:
=IF(ISNA(MATCH(A7,[销量.xls]Sheet1!$A:$A,0)),&&,VLOOKUP(A7,[销量.xls]Sheet1!$A:$C,3,0))
复制代码
学office,哪能不关注全网最大的Office类微博(新浪)
初级一, 积分 18, 距离下一级还需 32 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
quote]两个文件的A列,尾部有空格。查找替换掉,然后用:
=IF(ISNA(MATCH(A7,[销量.xls]Sheet1!$A:$A,0)),&&,VLOOKUP(A7,[销量.xls]Sheet1!$A:$C,3,0))
gouweicao78 发表于
12:29 [/quote]
可是这样还是有找不到的啊,不知道怎么办?
学office,哪能不关注全网最大的Office类微博(新浪)
初级一, 积分 18, 距离下一级还需 32 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
两个文件的A列,尾部有空格。查找替换掉,然后用:
=IF(ISNA(MATCH(A7,[销量.xls]Sheet1!$A:$A,0)),&&,VLOOKUP(A7,[销量.xls]Sheet1!$A:$C,3,0))
gouweicao78 发表于
可是这样还是有找不到的啊,不知道怎么办?
学office,哪能不关注全网最大的Office类微博(新浪)
联系方式:请发站内消息给站长 apolloh
如果要在数字1-9中找到100,那当然是找不到。
找不到的情况,我的公式已经用ISNA给你返回&&了。
15:43 上传
点击文件名下载附件
196.73 KB, 下载次数: 13
关于VLOOKUP函数找不到值怎么办?
学office,哪能不关注全网最大的Office类微博(新浪)
初级一, 积分 6, 距离下一级还需 44 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
我在使用VLOOKUP从一个数据表B中查找E列到另一数据表A中的W列,可是输入多次查找列要么显示NA,要么显示公式,始终不显示查找的数值,我不知道是哪里的要格式错了,请看A 表中的W列红色部分,查找的值显示不出来,我已将B表的格式整理过了,即查找-替换空格,但还是不行,真急死了。哪位高手指点一下,谢谢
学office,哪能不关注全网最大的Office类微博(新浪)
Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师
Powered by}

我要回帖

更多关于 vlookup函数怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信