vlookup函数可以说是Excel当中最重要的函数了。
我在做培训的时候总是会给学员们说,我筛简历时每每看到“精通Excel”、“熟练使用Excel”这样的描述就觉得辣眼。 因为每每这样的人被叫来面试,你问问他vlookup函数,他不知道.....你问问他数据透视表,他还是不知道.....然后我们就只能聊聊天气,你看这万里无云天高气爽的,可能一会要下雨,你要不早点回家吧。
很多人,用了很长时间的excel都把excel当做有格子的word用......都不知道其实excel里有很多的函数、功能、加载项能帮我们做很多的数据处理和分析工作,可以很大地提升自己的工作效率。
我今天就先用vlookup函数这个非常有代表性、很多需求都会用到、又经常用错的函数说起。
(题图来自电影《彗星来临那一夜》,看过的自然会懂 :D
上面说的都是废话,重点从下边开始看起
先说一下vlookup能干啥,基本的功能就是从别的地方把你需要对照的数据拽回来。下面举两个例子:
1)你有一张员工编号、姓名、部门、岗位的表,还有一张员工编号、月薪的表。现在想在第一张表里加一列月薪,从第二张表里查出来每人的月薪填到第一张表里
2)你有两张月度的产品销售目录,你想对比一下两个月当中有哪些商品都有销售过
遇到这种在两个表里对照、导数的需求都可以想到用vlookup函数。
下面我们来看一下vlookup函数长什么样。
--lookup_value: 你要查谁,比如第一个例子中部门表的员工编号
--table_array: 你要去哪里找,比如第一个例子里的月薪表
--col_index_num:返回第几列,在第二个参数的区域里你想返回第几列
--range_lookup: 是否进行近似匹配?True或1代表近似匹配,False或0代表精确匹配。我们大多数情况下使用的是精确匹配
我们来用个例子说明一下:
逻辑:如果我们人工去做,现在我们要在D2这个单元格写个email,那我们找谁?是B2这个单元格里的UID:1234对吧。
那我们在哪里找它呢?是G1:H8这个区域的表里对吧。(有人问为什么不是H列,还要把G列也拉进来? ....你不把G列拉进来去哪看UID=1234去啊....)
那么在G1:H8这个一共有2列的区域里,一旦你找到对应的UID=1234的那行以后,这一行在这个区域里一共有两列的值,你要返回第几列的呢?我们返回第2列的值也就是H8那个值,对不对?
最后我们肯定是希望精确匹配,我找1234,你就给我返回1234的,别给我来个1233的,所以我们要求vlookup要按精确匹配的方式来执行。
好了,逻辑盘完了,注意一下前面标记不同颜色的文字对应的就是vlookup的不同参数。
那么针对B2单元格的这个UID,找出来的email要放到D2这个单元格,所以我们要把公式写在D2单元格里(不要嫌啰嗦,不只一个人弄不清楚这个了。。。)
=VLOOKUP(B2,G1:H8,2,0)
这样针对B2这个单元格的查找就做完了。
那么针对B3到B8单元格的查找我们就向下拖动公式就可以,但是在拖动之前我们要调整一下公式,因为我们B3到B8单元格的查找范围依然是G1:H8,Excel在拖到公式的时候,公式里参数区域如果是相对引用的方式会跟着你拖动的方向同步平移。比如你把公式向下拖动一个单元格,那么公式就会变成=VLOOKUP(B3,G2:H9,2,0)
为了解决这个问题,我们在D2这个单元格写公式的时候,把查找区域G1:H8变成绝对引用的方式$G$1:$H$8
手写加$符号可以,也可以在公式编辑框里把G1:H8用鼠标选上,然后按功能键F4,Mac版Excel上使用Command+T
变成绝对引用的形式后,无论你怎么拖动,有$修饰的部分都不会跟着变了。我们现在再拖动公式,后边几行的查找范围就全都固定在G1:H8了
好了,上面就是vlookup函数的最最最基础的应用方法。
后续我会再写如果是多种组合条件下如何进行查找。比如GameCode=abc 且 UID=1234 的用户在abc这个游戏的注册日期怎么查找。
以及如何应用vlookup函数中的近似匹配。
如果你对这类文章感兴趣欢迎留言回复(打赏奖励就更好了。哈哈哈),我会根据大家反馈的情况来决定是否继续写下去。
今天先到这里谢谢大家。