VLOOKUP 到底有多重要?

撸主大三,本科金融方向却时常玩玩计算机系统、网络还有编程。找实习(大多是财务相关,有的甚至是数据分析岗位)时候常常看见要求Excel里面特别指出,要求…显示全部 

关注者

8,284

被浏览

1,494,501

关注问题写回答

邀请回答

好问题 32

6 条评论

分享

102 个回答

默认排序

指北针


指北针


微信公众号【芒种学院】,分享更多原创PPT、Excel教程

11,914 人赞同了该回答

这几天刚刚录制完Excel的教程,都说Excel要掌握“4+1”,4个核心函数:vlookup、if、sum、sumif,1个核心功能:数据透视表。

未经允许,禁止转载,更多办公效率、实用技巧,前往公众号:芒种学院,回复:知乎礼包,有一份知乎办公大礼包送给你~

看了下回答,大部分都是在强调VLOOKUP的基础语法,借着这个话题,给大家分享下VLOOKUP的4种查询技巧:基础查询、反向查询、多条件查询、返回多列

很多同学私信问怎么学习Excel,太多就不一一回复了。这里给大家推荐两门课程,收好啦,就不一一回复了:
01【训练营】职场Excel零基础入门 - 网易云课堂
02【实战】Excel就该这样用,数据透视表篇 - 网易云课堂

01 VLOOKUP函数基础语法

先来看下VLOOKUP的最基础用法,为了方便大家理解,做成了图片。

总共只有4个参数,分别是:用谁去找、匹配对象范围、返回第几列、匹配方式(0表示精确匹配,1表示模糊匹配)。

然而学会了基础语法,就会VLOOKUP了么?NO,对大部分同学来说,VLOOKUP只会最基础的查找方式,碰上了返回多列、多条件、反向位置的就一脸懵逼了,可以继续往下面看VLOOKUP的4中查询方式。

02 4种查询方式

vlookup是Excel中的效率之王,是每个Excel使用者都会使用到的一个函数,先来分享下vlookup的几个用法,由浅入深。

2.1 基础单条件查找

VLOOKUP的基础单条件用法是简单的一种用法,使用单个检索关键字,并且检索关键字在选择区域的第1列,直接使用普通公示就可以解决。

VLOOKUP单条件查找

总结一下,基础查询公式的用法:

=VLOOKUP(用谁找,去哪里找,找到了返回什么,怎么着)

2.2 反向查找

反向查找跟普通的VLOOKUP查找存在什么差异,我们都知道检索关键字必须在查找区域的第1列,反向查找的检索关键字不在查找区域的第1列,可以使用虚拟数组公式IF来做一个调换。

VLOOKUP反向查找

总结一下,反向查找的固定公式用法:

=VLOOKUP(检索关键字,IF({1,0},检索关键字所在列,查找值所在列),2,0)

注意事项,所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。

2.3 多条件查询

在使用VLOOKUP匹配数据的时候,往往条件不是单一的,是由多个一起组成的,那么也可以利用&将字段拼接起来,并且利用IF数组公式构建出一个虚拟的区域。

VLOOKUP多条件查询

总结一下,多条件查找的固定公式用法:

=VLOOKUP(关键字1&关键字2,IF({1,0},序列1&序列2,查找值所在列),2,0)

注意事项,所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。

2.4 查询返回多列

查询返回一列的情况很容易就能完成,如果是返回多列呢?这个时候就要借助另外一个辅助函数——column函数,有关column函数的简介可以看下:

COLUMN返回的结果为单元格引用的列数,例如:column(B1)返回值为2,因为B1为第2列。

VLOOKUP返回多列

总结一下,返回多列的固定公式用法:

=VLOOKUP(混合引用关键字,查找范围,COLUMN(xx),0)

返回第几列就开始引用第几列的单元格即可。


暂时分享这么多,祝大家学习愉快,想要学习【Word、PPT、Excel】的也可以关注下我哦~

公众号:芒种学院,回复:插件,下载4个非常强大的Excel插件集合。
公众号:芒种学院,回复:Office,与数千人一起学习Office。

我的其他关于Excel的回答,可以看下哦,都是非常有用的资料:

课程总链接传送门,所有的资料都可以在下方进行下载:

未经允许,禁止转载,更多Excel教程、模板,可以前往公众号:芒种学院

收藏

3314

同义词 vlookup一般指VLOOKUP函数

VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导入数据等函数功能。功能是按列查找,最终返回该列所需查询序列所对应的值;与之对应的HLOOKUP是按行查找的。

  • 中文名

  • VLOOKUP函数

  • 外文名

  • VlookUp

  • 适用范围

  • Excel

  • 功    能

  • 按列查找

  • 类    别

  • 查找函数

目录

  1. 1 语法规则

  2. 2 参数说明

  3. 3 使用举例

语法规则

编辑

该函数的语法规则如下:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

参数

简单说明

输入数据类型

lookup_value

要查找的值

数值、引用或文本字符串

table_array

要查找的区域

数据表区域

col_index_num

返回数据在查找区域的第几列数

正整数

range_lookup

精确匹配/近似匹配

FALSE(或0)/TRUE(或1或不填)

参数说明

编辑

Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。

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 的最大数值。应注意VLOOKUP函数在进行近似匹配时的查找规则是从第一个数据开始匹配,没有匹配到一样的值就继续与下一个值进行匹配,直到遇到大于查找值的值,此时返回上一个数据(近似匹配时应对查找值所在列进行升序排列)。如果range_lookup 省略,则默认为1。

使用举例

编辑

VLOOKUP教学参考

如图

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,”;查找时只会用H4与$A列的内容匹配

第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,就会输入全年总计的项目了;

(注意:这里的列数不是EXCEL默认的列数,而是查找范围的第几列)

第四个参数,因为我们要精确查找工号,所以输入“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中处于第一列。

5.使用该函数时,返回的是目标区域第一个符合查找值的数值。也就是说在目标区域存在多个目标值时,则应特别注意。

二.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函数返回的值(即找到的相应的值)。

这里又用了两个函数。

第一个是iserror函数。它的语法是iserror(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).

对于vlookup函数的使用方法,只是看文字就显得很枯燥,为了方便大家理解,可以查看参考资料中的vlookup函数的使用方法实例方便理解掌握。 [1] 


Last modification:June 12, 2020
如果觉得我的文章对你有用,请随意赞赏