excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(1)

Excel非常强大,数据处理和分析能力给我们的工作带来了非常大的帮助,今天我们就来了解Excel的函数Vlookup,让我们逐步成为Excel大神。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(2)

Vlookup函数的语法是:

Vlookup(lookup_value,table_array,col_index_num,[range_lookup]),其中

  • lookup_value:表示要查找的值,可以是数值、文本或引用,必须是要查找表格区域(table_array)中的第一列
  • table_array:表示要查找的表格区域
  • col_index_num:表示要查找的值(lookup_value)在表格区域(table_array)中的第几列,必须是正整数,包含隐藏列
  • range_lookup:表示查找方式,模糊匹配还是精确匹配

True或1代表模糊匹配,可以省略,这里注意一下,模糊匹配时需要对lookup_value对应列,即table_array的第一列进行升序排序,结果返回的是小于lookup_value的最大数值

False或0代表匹配匹配,可以省略,不需要加逗号

什么意思呢?就是说你可以通过这个函数在一个表格区域(table_array)内查找一个值(lookup_value),返回该值所在行的第col_index_num列的数据

如果是精准匹配(range_lookup等于False或0),则在table_array内查找等于lookup_value的数据,找到后返回table_array中的第col_index_num列数据,如果没找到,返回#N/A,如果有多个等于lookup_value的数据,只返回第一个。

如果是模糊匹配(range_lookup等于true或1),则在table_array内从第一个数据开始匹配,没有匹配到一样的值就继续与下一个值进行匹配,直到遇到大于查找值的值,此时返回上一个数据对应table_array中的第col_index_num列数据,如果没找到,返回#N/A。

我们用一个例子来描述:我们模拟了一班学生的两个考试成绩表格

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(3)

1.基础用法

在表一中,根据G12的学生姓名查找期末成绩,放到H12中。

我们只要在H12中输入公式:=VLOOKUP(G12,B5:E12,3,FALSE)

公式的含义是:在B5:E12区域内,在B列中查找等于(第4个参数是False,所以是等于)G12的数据,找到后,返回D列(第3个参数是3,所以是D列)对应的数据。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(4)

2.多个条件组合查找

在表二中,根据G18的学生姓名和H18的考试场次查找历史成绩,放到I18中。

我们只要在I18中输入公式:

=VLOOKUP(G18&H18,IF({1,0},B18:B25&C18:C25,D18:D25),2,FALSE)

然后同时按Ctrl Shift Enter结束,关于IF函数的用法,请参考我的另一篇文章“如何成为Excel大神—IF函数”。

公式的含义是:在IF({1,0},B18:B25&C18:C25,D18:D25)返回的区域内,在第1列中查找等于(第4个参数是False,所以是等于)G18&H18的数据,找到后,返回D列(第3个参数是2,所以是D列)对应的数据。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(5)

3.动态返回列数据(第3个参数动态获取)

在表一中,根据G12的学生姓名查找期中、期末及平均成绩,放到H12:J12中。

我们只要在H12中输入公式:

=VLOOKUP($G12,$B$5:$E$12,MATCH(H$11,$B$4:$E$4,0),FALSE)

右拉到J12列填充公式,公式中的$表示绝对引用。

公式的含义是:在B5:E12区域内,在B列中查找等于(第4个参数是False,所以是等于)G12的数据,找到后,返回MATCH(H$11,$B$4:$E$4,0)返回的值对应列的数据。

MATCH(H$11,$B$4:$E$4,0):在$B$4:$E$4中查找H$11所在位置,就是第几列。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(6)

4.从右到左查找

Vlookup函数从左边列往右边列查,但我们有时需要根据右边列查左边列的数据,在不允许变动表格列的情况下,我们可以用进行IF配合。

在表一中,根据G12的学生期末成绩查找学生姓名,放到H12中。

我们只要在H12中输入公式:

=VLOOKUP(G12,IF({0,1},B5:B12,D5:D12),2,FALSE)

然后同时按Ctrl Shift Enter结束,关于IF函数的用法,请参考我的另一篇文章“如何成为Excel大神—IF函数”。

公式的含义是:在IF({0,1},B5:B12,D5:D12)返回的区域内,在第1列中查找等于(第4个参数是False,所以是等于)G12的数据,找到后,返回2列(第3个参数是2)对应的数据。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(7)

5.交叉查找

很多时候我们需要同时根据行列信息查找交叉单元格的数据。

在表一中,根据G12的学生姓名查找期末的成绩,放到H12中。

我们只要在H12中输入公式:

=VLOOKUP($G12,$B$5:$E$12,MATCH(H$11,$B$4:$E$4,0),FALSE)

公式的含义是:在B5:E12区域内,在B列中查找等于(第4个参数是False,所以是等于)G12的数据,找到后,返回MATCH(H$11,$B$4:$E$4,0)返回的值对应的数据。

MATCH(H$11,$B$4:$E$4,0):在$B$4:$E$4中查找H$11所在位置,就是第几列

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(8)

大家可能发现,这个公式和第3点的一样,是的,只要是动态获取第3个参数col_index_num的需求,都可能考虑这样的写法。

6.区间查找

假如我们有如下图规则,根据该规则对表一的平均成绩进行评价。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(9)

我们要根据学生平均分所在区间,来得出评价,我们需要添加评价区间数据进行辅助查询,然后利用Vlookup的模糊匹配实现该功能。

首先我们要对G18:G21升序排序。

我们在F5中输入公式:

=VLOOKUP(E5,$G$18:$H$21,2,TRUE)

公式的含义是:第4个参数是True,所以是模糊匹配,用平均分E5在$G$18:$H$21区域内查找,从第一个数据开始匹配,匹配到就返回该数据,没有匹配到一样的值就继续与下一个值进行匹配,直到遇到大于查找值的值,此时返回上一个数据,找到后,返回H列(第3个参数是2,所以是H列)数据。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(10)

7. 查询结果是合并单元格

在表一中,查找G12对应的平均分,而这个平均分是个合并单元格。

我们只要在H12中输入公式:

=VLOOKUP(9E 307,OFFSET(E5,,,MATCH(G12,B5:B12,0)),1,1)

9E 307表示Excel支持的最大数值。

公式的含义是:先通过MATCH(G12,B5:B12,0)获取到G12在B5:B12中的位置为6,那么OFFSET函数返回的数据是E5:E10,再用VLOOKUP的模糊查询查找并返回。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(11)

如果这种方法感觉很绕,急忙看不明白,那我们换一种处理办法。

添加一个辅助列,用VLOOKUP函数把合并单元格的列拆分成不合并的。

在F5中输入公式:=VLOOKUP(9E 307,E$5:E5,1,1),往下填充到F12。

9E 307表示Excel支持的最大数值。

下来在H12中输入公式:=VLOOKUP(G12,B5:F12,5,0)

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(12)

8.查询区域存在合并单元格

我们将演示数据修改成如下图,要查找二班李四的成绩,班级列存在合并单元格,姓名列存在重名。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(13)

在I12中输入公式:=VLOOKUP(H12,INDIRECT("C"&MATCH(G12,B:B,0)&":D25"),2,0)

公式的含义是:先通过MATCH(G12,B:B,0)获取到G12在B列中的位置为22,得到字符创“C22:D25”,然后用INDIRECT函数返回该字符串对应的区域数据,这时公式其实就变成=VLOOKUP(H12,C22:D25,2,0),第2列就是我们想返回的列。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(14)

9.通配符查找

Vlookup函数支持通配符(*和?)查找

星号表示任意一串字符,问号表示任意单个字符,

如果需要查找星号和问号本身,需要在星号和问号前加波形符~,

此时星号和问号只代表一个字符,不是通配符。

想查找包含~的数据时,只要在~前面加波形符~,“~~”就是查找~

因为这个比较容易理解,我们不举例子了

10.查找一个值,返回多个结果

我们将演示数据修改成如下图,要查找男生的成绩

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(15)

首先我们添加一个辅助列,在A18中输入公式=(C18=$G$12) E17,往下填充到A25,目的是每发现一名男生,数字 1。

我们只要在H12中输入公式:=IFERROR(VLOOKUP(ROW(A1),$A$2:$E$11,4,0),"")

往下填充公式,看到空值就表示查完了。

excel中vlookup函数使用方法(如何成为Excel大神Vlookup函数)(16)

11. lookup_value和table_array格式不一致

lookup_value和table_array格式不一致时,将无法返回想要的结果,无法修改原数据格式时,可以通过将lookup_value转换成和table_array一样的格式来解决,格式不一致有2种情况。

  • lookup_value是数值型,table_array是字符型

只要在lookup_value后面添加&"",就是说给lookup_value加上一个空字符串,让它变成字符串

  • lookup_value是字符型,table_array是数值型

只要在lookup_value后面添加*1,就是让lookup_value变成数值

Ok,大功告成,你离大神又进了一步。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页