你的名字怎么会忘记--vlookup函数

 

圣诞快乐!...



今天圣诞节,祝大家圣诞快乐!



首先感谢上期打赏的周瑞之、柳蕾、胡传进。周瑞之是我的同事,博览群书,是位才子,爱好历史、文学,他文章写得很好,也开通了微信公众号,大家感兴趣可以添加一下:周瑞之



好,进入到今天的正题。在日常表格处理中,有时我们不仅仅要在一个表格比对信息(使用match函数就可以,可参考之前写的“表格核对怎么做?match函数帮你忙”),还需要将比对匹配同一行的信息进行引用,这时就需要使用到vlookup函数,v代表vertical垂直,look up当然是查找的意思,不是向上看。



语法:=vlookup(查找目标,查找范围,返回范围中数据的列序数,匹配类型)

查找目标:要找什么,我们需要匹配的关键字。

查找范围:在哪里找,可以跨表、跨簿,甚至在函数内建的数组。

返回范围中数据的列序数:查找范围包含N列,我们要返回第几列的数据。

匹配类型:0或FALSE为精确匹配,目标和找到的内容必须一模一样(查找英文不区分大小写);TRUE为模糊匹配,怎么模糊法,见下面的“3.分类”。

1.普通用法

如在Sheet1上有员工编号,但没有员工的姓名,我们需要从Sheet2中把姓名查找引用过来。





函数处理方法:



公式:=VLOOKUP(A2,Sheet2!A:D,2,0)

第1个参数Sheet1里A2就是我们需要查找的值。第2个参数Sheet2!A:D就是我们需要在Sheet2中查找的A:D的范围,其中要注意的就是保证你查找的内容在查找范围的第一列。第3个参数为返回数据所在的列数,比如我们需要返回姓名,姓名在A:D里的第2列,所以我们填写2,如果需要返回性别,则此参数变为3。



第4个参数默认是TRUE,精确匹配要设置为FALSE或者0。

未找到的就会显示“#N/A”,表示Not Available(不可获取)。

注意:

  • 查找的编号必须在查找范围的第一列,这里查找范围为Sheet2!A:D,它第1列就是A列。
  • 此函数会返回第一个满足条件的数据,所以如果Sheet2中有多个重复编号值,则会返回最靠上的一个。如果我们以编号为“00000004”的编号使用vlookup函数进行查询姓名,结果就不会出现“奇异”博士,只会显示“伊然”。


2.模糊查询:结合通配符“?”、“*”进行文本的查询。

如我们需要找到A列零件对应的库存,但是查找区域的D列除了零件还带一个小尾巴表明零件的主要材质,这个小尾巴直接影响我们使用vlookup函数。



解决方法:



公式:=VLOOKUP(A2&"*",D:E,2,0)

这时我们使用A2&"*"代表以"B001"开头的任何字符,从而把这个D列这个小尾巴的问题解决了。

3.分类

我们在处理或者分析数据时,经常会将数据按照数值进行分类,比如人的年龄,45岁以下为青年45-59岁为中年60-74为年轻的老人或老年前期75-89岁为老年90岁以上为长寿老年人。



这时候我们就要用到vlookup的模糊匹配模式了:



公式:=VLOOKUP(C2,F:H,3,TRUE)

第1个参数C2,我们还是选择年龄。第2个参数F:H参数写的查找范围,大家注意到,我们在输入公式前先将分组下限进行了补充。第3个参数为3,返回"F:H"范围中第3列,也就是分类。第4个参数为TRUE,表示模糊匹配。这里的模糊匹配就是先找匹配值,如果找不到匹配值就返回小于查找值的最大值。

例如:找86,在F列没有86,就找比86小一点的74,于是就返回74所在行对应的分类“老年”。

注意:这查找范围中的数据需要升序排列,否者会出错。这里也就指的是“下限”,用于分段的值,其实有个更专业的说法:阈值threshold。

vlookup函数简单的介绍到这里,它支持跨表、跨簿、通配符、不区分大小写。与vlookup相对的还有一个hlookup,h代表horizon水平,鉴于常用表格的结构,水平查找会用得比较少。

PS,天气冷,码字不易~


    关注 Exce


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册