excel中在F列输名称后A-E列自动显示分类?

vlookup是Excel中一个非常重要的、并且使用频率极高的查找函数,官方的含义是:搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值。

简单的说就是在 包含查找值的某个区域的 首列进行查找,查找到匹配的数据以后,然后返回该区域 同一行上的单元格中的值


vlookup函数不仅可以进行单条件查找,还可以进行一对多查找、多条件查找、正向查找、反向查找,甚至利用它的模糊匹配功能,代替IF函数做条件判断,那么今天牛哥就来跟大家分享一下vlookup函数在多场景下的使用方法。

先来看下 vlookup 函数的语法:

  • 第1参数lookup_value:表示要在表格或区域的第一列中查询的值。

  • 第2参数table_array:表示要查询的单元格区域,这个区域中的首列必须要包含查询值,否则公式将返回错误值。

  • 第3参数col_index_num:用于指定返回查询区域中第几列的数值。

  • 第4参数[range_lookup]:可选,决定函数的查找方式,如果是为FALSE或0,则是采用精确匹配方式;如果为TRUE或1,则使用近似匹配方式,同时要求查询区域的首列必须按照升序进行排序。

下面牛哥将通过几个具体的实例,来详细的介绍一下vlookup函数的使用方法,内容较多,建议收藏后再看!

一、单条件查找之:查找并返回单列记录

如下图所示,左侧单元格区域 A2:C12 中为学生的成绩表,学生姓名在该区域的第一列,

右侧单元格区域E2:F5为查询表,要求根据学生的姓名,使用 vlookup 函数查找出对应学生的数据成绩。


在F2单元格中输入公式:=vlookup(E2,$A$2:$C$12,3,0),然后向下拖动填充公式至F5单元格,所要查找的学生数学成绩就出来了。

Vlookup函数查找并返回单列记录公式解析:

第1参数: E2,为单元格引用,表示要查找的值,即姓名,因为要依次查找每一个姓名,所以公式需要向下拖动复制,引用的单元格也要相应变成E3,E4...所以不需要固定;

第2参数: $A$2:$C$12,表示包含查找值的单元格区域,该区域中第一列(A列)包含查找值,所以符合要求,

查找区域要固定不变,引用的单元格不能随着公式的向下填充而变动,所以使用了$对行号进行了固定;

第3参数: 3,这个参数是用于返回哪1列上的值,而数学成绩位于A2:C12区域中的第3列,所以要返回第3列的值;

第4参数: 0,因为是精确匹配,所以该参数为0或FALSE。


二、单条件查找之:查找并返回多列记录

如下图案例所示,这个案例是要求根据右侧学生的学号(G2单元格),在左侧单元格区域A2:E12中,查找出对应学生的姓名,语文、数学、英语三科的成绩。


在H2单元格中输入公式:

并向右拖动填充公式到K2单元格。

Vlookup函数查找并返回多列记录公式解析:

第1参数: $G2,为要查找的值,即通过学号,分别查找出姓名和各科成绩,所以公式会向右复制填充,但是查找的值为单元格引用,公式在向右填充时不能变动,否则就会出错,所以要使用$对列号固定。

第2参数: $A2:$E12,为查找区域,第一列包含查找值的(学号),同样公式要向右填充,也要保持查找区域固定不变;

第3参数: COLUMN(B1),返回对应列上的值,因为本案例的目的是要随着公式向右复制,从而依次返回姓名、语文、数学、英语三科的成绩,参数是要随着变动的,而姓名在第2列,语文在第3列,数学在第4列,英语在第5列,

所以使用函数COLUMN(B1)返回列号2,当公式向右填充时,依次会变成COLUMN(C1)返回列号3,COLUMN(D1)返回列号4,COLUMN(E1)返回列号5,来达到返回对应列号值的目的。

第4参数: FALSE,精确匹配,上面讲过,0和FALSE在这里都代表精确匹配,所以这里也可以使用了FALSE表示。


三、单条件查找之:vlookup跨工作表查找

这个案例,查找值和查找区域分别放在了两个不同的工作表,要求根据查询表中的产品编号(查找值),在产品表(查找区域)中进行查找,并将对应的产品信息返回到查询表中。



在查询表中的B2单元格中输入公式:

并向右、向下拖动填充到F7单元格。

vlookup跨工作表查找公式解析:

第1参数: $A2,查找值,公式要分别向右、向下填充,要保持向右填充查找列一直处在A列,所以列号固定不变,向下填充,查找的产品编号要跟着变化,所以行号无需固定;

第2参数: 产品表!$A:$F,查找区域,因为是跨工作表查找,所以跨工作表引用的表示方法为:工作表名称!表格区域(如,产品表!$A:$F)。另外在输入公式的这一处时,可以直接通过点击鼠标切换到“产品表”工作表中,选择目标单元格区域,前面会自动加上工作表名称。同样这里的查找区域也要进行固定。

第3参数和第4参数和上面的案例相似,这里就不多做介绍了,大家不理解的可以去看下上面两个案例中第2,第3参数的解析。


四、多条件查找之:vlookup结合辅助列查找

如下图要求查找出A、B、C、D店对应月份的销量和营业额。


实际上这里的辅助列的用法就是用连接符&把多个条件,连接成一个条件,然后再使用vlookup函数进行查找,所以查找之前,要在查找区域所在的表建立一个辅助列,将门店和月份用连接符&连接起来, 如: A2=B2&C2 A


然后在J2单元格中输入公式:

并向右、向下拖动填充公式至K5单元格。

vlookup结合辅助列查找公式解析:

第1参数: $H2&$I2,表示要查找的值,即用连接符&将两个条件连接成了一个条件,连接后的查找值会变成:"A店3月",因为公式要向右、向下填充,向右填充时要保持列号固定不变,所以使用相对引用固定列号,行号要随着向下填充变化,所以无需固定。

第2参数: $A$2:$E$17,表示查找区域,因为第一列要包含查找值,第一列是构建的辅助列,正好是包含查找值的,同样公式要向右、向下填充,要保持查找区域不能随着公式的移动而发生变化,所以也要使用绝对引用。

第3参数: COLUMN(D:D),这个参数是用于返回第几列上的值,本案例的目的是要随着公式向右复制,从而依次返回销量、销售额,参数是要随着变动的,而销量在查找区域的第4列,销售额在第5列,所以使用函数COLUMN(D:D)返回列号4,当公式向右填充时,会变成COLUMN(E:E)返回列号5,来达到返回对应列号值的目的。

第4参数: 0,因为是精确匹配,所以该参数为0或FALSE。


五、多条件查找之:vlookup结合数组的用法

上面的那个案例是借助辅助列的方法来完成多条件查找,但是如果有新的数据添加进来,每次都要先更新一下辅助列,步骤有点繁琐,而接下来这个案例只要使用IF函数,结合数组同样也能够实现vlookup函数的多条件查找,而且步骤一点都不繁琐。

并向右、向下拖动填充公式至J5单元格。

vlookup结合数组应对多条件查找公式解析:

第1参数: $G2&$H2,表示查找值,同样和上一个案例一样也是用连接符&将两个条件连接成了一个条件,这里的第1参数和上一个案例的第一参数意思是一样,所以就不多做解释。主要区别在第2参数。

当为1时返回 $A$2:$A$17&$B$2:$B$17,作为查找区域的第一列,因为这里也使用了连接符&,将门店和月份进行了连接,所以符合查找区域第一列包含查找值;

当为0时返回 C$2:C$17,并且作为查找区域的第二列,在第3参数中需要返回该列的(销量)数据;

同样公式要向右、向下填充,查找区域的第一列要使用绝对引用进行固定,而查找区域的第二列,使用相对引用,向下填充要保持行号不变,列号要随着向右的拖动变成D$2:D$17,这样就可以在J2:J5区域返回营业额的数据了。

第3参数: 2,返回区域中的第二列,虽然要返回的数据是两列,销量和营业额,但是当公式向右填充到J2单元格时,公式就变成了:


六、Vlookup结合数组进行反向查找

下图表格中要求,根据姓名,查找对应的学生编号,前面的案例都是向右查找,而这个案例是向左查找。


vlookup函数在查找时,要求查找区域的第1列必须要包含查找值,然后向右返回对应行的值,这个案例要返回的值在第1列,包含查找的值在第2列,所以我们可以使用if函数来构建一个数组,做一个位置调换,将左表的B列放在查找区域的第一列,A列放在在第二列,这样就可以使用vlookup进行查找了。

在H2单元格中输入公式:

并向下拖动填充到H3单元格。

vlookup反向查找公式解析:

第1、3、4参数,和前面的几个案例意思是一样的,这里面就不具体介绍了,

对第2参数做一下解释: IF({1,0},B$2:B$12,A$2:A$12),使用If函数构建了一个数组,当条件满足时先返回姓名这一列,然后再返回学号这一列,数组结果为:{"张明明","NX-003";"黄海","NX-005";"夏红鑫","NX-011";.....}这样就可以进行正常的查找了。

如果前面的关于数组的案例的公式理解了,这里就容易理解了。


七、单条件查找之:一对多查找

这里的一对多查找的意思是,通过一个条件,查找并返回所有匹配该条件的记录值, vlookup函数在进行数据查找时,只匹配第一个符合条件的记录,后面即使有重复的记录也不会再匹配,所以就要结合辅助列、数组来完成一对多的查找。

如下图案例所示,要求找出陈强4月份的所有出勤日期。


在使用vlookup函数查找之前,要先在出勤日期这一列后面添加一个辅助列,并且使用Countif函数统计出姓名是第几次重复出现的。在C2单元格中输入公式: =COUNTIF($A$2:A2,A2),并向下拖动填充到C30单元格。


然后在E2单元格中输入公式:

并向下拖动填充公式,直至出现错误值。


vlookup函数在查找数据时,遇到多条重复的记录,只会匹配第1条记录,后面重复的会被忽略,而想要把每一条重复的记录都找出来,就要让查找区域第一列的值都变成唯一值,

所以:需要增加一个辅助列(C列),先通过countif函数,统计姓名是第几次重复出现,并和姓名连接起来,这样查找区域首列重复的姓名,也变成了唯一值(比如陈强第1次出现时是”陈强1”、第2次出现时是”陈强2”…),

那么第1参数:"陈强"&ROW(1:1),将要查找的陈强和ROW(1:1)函数构成的数字相连接,查找值就会变成:"陈强1",当公式向下填充时就会相应的变成:"陈强2","陈强3",这样查找值就符合查找区域首列包含查找值的要求了。

最后第3、第4参数分别是返回对应行上第2列的值和精确匹配。

那结果中没有查到后返回的错误值,怎么处理呢?

只要在外层加上iferror函数就可以了,完整的公式:


八、vlookup模糊匹配,代替IF做多条件判断

前面几个案例都是介绍的精确匹配的用法,另外还有一个近似匹配是如何应用呢?

使用vlookup函数进行近似匹配查找的前提是,要查找的区域的第一列必须是按照升序排序,否则vlookup无法返回正确的值。

所以这里就利用了vlookup函数模糊匹配的这个功能来进行条件判断,只要设置好条件的区间,并且按照升序排序,就可以代替if函数做条件判断。

下图这个案例是根据左表业绩的等级评定标准,对右表相应的人员业绩进行评定,如果使用if函数,需要嵌套好几层,这里使用vlookup函数简短的一段代码就可以搞定。


在G3单元格中输入公式:

向下拖动填充到G11单元格。

vlookup做多条件判断公式解析:

第1参数: F3,表示要查找的值,即:业绩;

第2参数: A$3:B$7,表示要查找的区域,因为本案例是近似匹配,所以查找的区域第一列必须要按照升序排序,条件区间分别为:0代表,0-59、60代表,60-69、70代表,70-79、80代表,80-89、90代表,90-99。

第3参数: 2,返回等级所在的列号。

第4参数: 1,模糊匹配,也可以使用TRUE表示,Vlookup模糊匹配的用法是:在对查找区域内进行查找时,如果没有找到相等的值,则会将小于查找值的最大值返回出来。所以查找F3单元格的业绩(49)时,查找到的是0,返回的等级是E。


关于vlookup函数的使用方法,今天的分享就到这里了,内容比较多,建议大家收藏,然后仔细的看完,如果这些方法都掌握了,相信能够解决Excel工作中的大部分查找难题。

如果文中有不明白的地方,欢迎大家给牛哥留言,另外如需要本案例的素材源文件,回复【】,获取素材下载地址。

关注我,学习更多Excel办公技能,后续会不断的输出更多高阶技能哦!

}

请下载文件,并将文件解压后存到你希望的目录后再打开文件,(而不是直接打开ZIP文件再打开XLS文件)这样你的EXCEL中就会出现一个工具"更改数据标签",先选中要修改标签的系列再点该工具,出现输入选择框后用鼠标选定放数据标签的单元格. "更改数据标签"将一直在EXCEL中,即使你关掉EXCEL,下次再打开工具还在,可以直接使用,不需要再去打开那个工具文件. 功能及特点: 1. 行或列数据均可使用作为数据标签.(程序自动判断) 2.可引用其他表的单元格. 3.可部分(选择系列的某一点)修改. 4.引用单元格的数量可少与系列点数. 5.对出错的数据也能引用.

}

我要回帖

更多关于 根据A列数据查找b列并显示 的文章

更多推荐

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

点击添加站长微信