请选择 进入手机版 | 继续访问电脑版
楼主: LILITU911
5504 5

[学习分享] vlookup很实用,抽时间学习一下吧 [推广有奖]

  • 1关注
  • 0粉丝

本科生

69%

还不是VIP/贵宾

-

威望
0
论坛币
3251 个
通用积分
0.5550
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
3509 点
帖子
51
精华
0
在线时间
60 小时
注册时间
2013-10-31
最后登录
2018-12-27

LILITU911 发表于 2014-11-21 15:00:12 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
vlookup函数的使用方法.zip (574.96 KB, 需要: 1 个论坛币) 本附件包括:
  • vlookup函数的使用方法.doc
  • VLOOKUP函数的使用方.doc
  • 举例说明VLOOKUP函数的使用方法.xls
  • VLOOKUP函数的使用方法(问题篇).doc
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:vlookup lookup Vlook Look 很实用

coral033 在职认证  发表于 2014-11-26 16:56:37 |显示全部楼层 |坛友微信交流群
VLOOKUP确实很好用。
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数
简单说明
输入数据类型
lookup_value
要查找的值
数值、引用或文本字符串
table_array
要查找的区域
数据表区域
col_index_num
返回数据在查找区域的第几列数
正整数
range_lookup
模糊匹配
TRUE(或不填) /FALSE
参数说明

Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
col_index_num为table_array 中查找数据的数据列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为false或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
2使用举例
编辑

如图
vlookup函数示例
vlookup函数示例
所示,我们要在A2:F12区域中提取工号为100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP函数演示:
首先在I4单元格输入“=Vlookup(”,此时Excel就会提示4个参数。
Vlookup结果演示
Vlookup结果演示
第一个参数,显然,我们要让100003对应的是H4,这里就输入“H4,” ;
第二个参数,这里输入我们要查找的区域(绝对引用),即“$A$2:$F$12,”;
第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确查找工号,所以输入“FALSE"或者“0”。
最后补全最后的右括号“)”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”,使用填充柄填充其他单元格即可完成查找操作。
VLOOKUP函数使用注意事项
一.VLOOKUP的语法
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:
A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B)在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。选取Table_array时一定注意选择区域的首列必须与lookup_value所选取的列的格式和字段一致。比如lookup_value选取了“姓名”中的“张三”,那么Table_array选取时第一列必须为“姓名”列,且格式与lookup_value一致,否则便会出现#N/A的问题。
4.在使用该函数时,lookup_value的值必须在table_array中处于第一列。
二.VLOOKUP的错误值处理。
如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。
例如,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,就自动设定它的值等于0,则函数可以写成这样:
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
在Excel 2007以上版本中,以上公式等价于
=IFERROR(vlookup(1,2,3,0),0)
这句话的意思是:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。
这里又用了两个函数。
第一个是iferror函数。它的语法是iferror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。
第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
在Excel 2007以上版本中,可以使用iferror(value, value_if_error)代替以上两个函数的组合,该函数判断value表达式是否为错误值,如果是,则返回value_if_error,如果不是,则返回value表达式自身的值。
三.含有VLOOKUP函数的工作表档案的处理。
一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。
在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。
vlookup最容易出错的地方是查找区域的首列必须含有查找的内容。
   比方说一个表,a列是序号,b列是姓名,c列是身份证,你在d列输入其中的一个姓名,在e1得到其身份证的公式不能是=vlookup(d1,a:c,3,0),而应是=vlookup(d1,b:c,2,0).

使用道具

coral033 在职认证  发表于 2014-11-26 16:57:21 |显示全部楼层 |坛友微信交流群
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数
简单说明
输入数据类型
lookup_value
要查找的值
数值、引用或文本字符串
table_array
要查找的区域
数据表区域
col_index_num
返回数据在查找区域的第几列数
正整数
range_lookup
模糊匹配
TRUE(或不填) /FALSE
参数说明

Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
col_index_num为table_array 中查找数据的数据列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为false或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
2使用举例
编辑

如图
vlookup函数示例
vlookup函数示例
所示,我们要在A2:F12区域中提取工号为100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP函数演示:
首先在I4单元格输入“=Vlookup(”,此时Excel就会提示4个参数。
Vlookup结果演示
Vlookup结果演示
第一个参数,显然,我们要让100003对应的是H4,这里就输入“H4,” ;
第二个参数,这里输入我们要查找的区域(绝对引用),即“$A$2:$F$12,”;
第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;
第四个参数,因为我们要精确查找工号,所以输入“FALSE"或者“0”。
最后补全最后的右括号“)”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”,使用填充柄填充其他单元格即可完成查找操作。
VLOOKUP函数使用注意事项
一.VLOOKUP的语法
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:
A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B)在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。选取Table_array时一定注意选择区域的首列必须与lookup_value所选取的列的格式和字段一致。比如lookup_value选取了“姓名”中的“张三”,那么Table_array选取时第一列必须为“姓名”列,且格式与lookup_value一致,否则便会出现#N/A的问题。
4.在使用该函数时,lookup_value的值必须在table_array中处于第一列。
二.VLOOKUP的错误值处理。
如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。
例如,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,就自动设定它的值等于0,则函数可以写成这样:
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
在Excel 2007以上版本中,以上公式等价于
=IFERROR(vlookup(1,2,3,0),0)
这句话的意思是:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。
这里又用了两个函数。
第一个是iferror函数。它的语法是iferror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。
第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)
在Excel 2007以上版本中,可以使用iferror(value, value_if_error)代替以上两个函数的组合,该函数判断value表达式是否为错误值,如果是,则返回value_if_error,如果不是,则返回value表达式自身的值。
三.含有VLOOKUP函数的工作表档案的处理。
一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。
有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。
在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。
下面详细的说一下它的原理。
1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。
2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。
3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。
vlookup最容易出错的地方是查找区域的首列必须含有查找的内容。
   比方说一个表,a列是序号,b列是姓名,c列是身份证,你在d列输入其中的一个姓名,在e1得到其身份证的公式不能是=vlookup(d1,a:c,3,0),而应是=vlookup(d1,b:c,2,0).

使用道具

coral033 在职认证  发表于 2014-11-26 16:58:00 |显示全部楼层 |坛友微信交流群

vlookup函数的操作实例:如下图,已知表sheet1中的数据如下,如何在数据表二 sheet2 中如下引用:当A列学号随机出现的时候,如何在B列显示其对应的物理成绩?

首先我们知道需要用到vlookup函数,那么先介绍一下使用 vlookup函数的几个参数,vlookup是判断引用数据的函数,它总共有四个参数,依次是:

1、判断的条件
2、跟踪数据的区域
3、返回第几列的数据
4、是否精确匹配

根据以上参考,和上述在sheet2表的B列显示问题的实际需求,在sheet2表的B2单元格输入这个公式是:

=vlookup(a2,sheet1!$a$2:$f$100,6,true)

详细说明一下,在此vlookup函数例子中各个参数的使用说明:

1、a2 是判断的条件,也就是说sheet1表和sheet2表中学号相同者,即sheet2表a列对应的数据和sheet1表中学号列a列的数据相同方能引用;
2、sheet1!$a$2:$f$100 是数据跟踪的区域,因为需要引用的数据在f列,所以跟踪的区域至少在f列,sheet1!是不同表间引用所用的表名称,和标志是表间引用的!符号,$是绝对引用(关于绝对引用可以参考这里),$a$2:$f$100 表明从A2到F100单元格的数据区域,如果数据区域不止100,那么可以直接使用A:F,这样虽然方便但是有风险,因为如果sheet1表的下方还有其它数据,就有可能出现问题;
3、6 这是返回什么数的列数,如上图的物理是第6列,所以应该是6,如果要求英语的数值,那么此处应该是5
4、是否绝对引用,如果是就输入 true 如果是近似即可满足条件 那么输入false (近似值主要用于带小数点的财务、运算等)
5、vlookup是垂直方向的查找,如果是水平方向查找可使用Hlookup函数,使用方法类似。

结果如下图:

http://www.utosee.com/post/vlookup.html


Out of difficulties, makes miracles.

使用道具

蛮简单的函数搞得十分复杂啊

使用道具

cwjcw81 在职认证  发表于 2018-8-17 10:57:13 |显示全部楼层 |坛友微信交流群
就这玩意还要1个论坛币?想钱想疯了吧

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 14:14