亲爱的小伙伴们,跟我学EXCEL系列福利来了,从初级一直到高级学习EXCEL系列文章,结合财务实际应用讲解,配合动图细节演示,通俗易懂,是一套比较系统的不可多见学习EXCEL的好文章。持续更新中!
本系列文章包括基础篇(包括技巧、函数)、进阶篇(主要是数据透视表)、高级篇(主要是Power Query)。
希望大家喜欢,欢迎提出宝贵意见和建议!
今天我们继续学习函数及相关内容。
二、EXCEL基础篇-函数12
17、查找与引用函数---VLOOKUP
昨天我们说了VLOOKUP函数应用比较广泛,那么就有请VLOOKUP函数闪亮登场吧!
VLOOKUP是一个表格区域纵向查找函数,函数表达式是=VLOOKUP(要查找的值,查找区域,查找第几列,是精确查找还是模糊查找)
第一个参数:要查找的值,可以是数值、引用或文本字符串。
第二个参数:数据表区域,所要查询的内容必须位于此区域的第一列。
第三个参数:返回数据在查找区域的第几列数,是正整数,可以手工输入、引用或函数取值。
第四个参数:精确匹配/近似匹配,FALSE(或0)/TRUE(或1或不填),这个参数比较重要。
我们来看案例。
(1)、精确查找案例,根据姓名查找身份证号
F2单元格公式为“=VLOOKUP(E2,$A$1:$C$14,3,0)”
第二个参数区域一般要绝对引用,因为复制公式的时候这个查询的区域固定不变,都是从这个区域去查询,因为身份证号的列位于这个区域的第三列,所以公式第三个参数输入3,因为是一一对应的关系,所以输入0,就是精确查找的意思。
这里要注意的是,一个是查找的内容要位于查询区域的第一列,二是查找的内容在查找区域里不能重复,如果重复,函数只能查找到最前面的值。
这个查找功能相对容易,真正让VLOOKUP应用广泛的原因是它的第二个大的功能---模糊查找。
(2)、模糊查找案例
前面我们讲过IF函数,IF的多层嵌套函数应该大家留下了深刻印象,设置起来非常繁琐,一般来讲,IF的条件多数是数值判断,尤其是这种根据数值区间判断比例或者情况的情形,都可以用VLOOKUP函数的模糊查询功能替代。这就是VLOOKUP厉害的地方。
案例一、我们来看昨天的案例,根据成绩区间确定评价结果。
先将“60分以下为不及格,60分及以上至70为及格,70分及以上至80为良,80分及以上至90为优良,90分及以上为优秀”这个判断标准转换为一个表格,见下表:
区间 | 评价 |
0--59 | 不及格 |
60--69 | 及格 |
70--79 | 良 |
80--89 | 优良 |
90--100 | 优秀 |
在这个表前面或中间添加一个辅助列,辅助列输入条件区间的下限数值,如下表:
区间 | 辅助列 | 评价 |
0--59 | 0 | 不及格 |
60--69 | 60 | 及格 |
70--79 | 70 | 良 |
80--89 | 80 | 优良 |
90--100 | 90 | 优秀 |
我们来看设置过程
G2单元格公式=VLOOKUP(F2,$B$2:$C$6,2,1),这里再强调一次,成绩要位于查询区域的首列,所以区域选择的时候选$B$2:$C$6,第三个参数第几列是指评价结果位于区域$B$2:$C$6第几列,而不是查询表的第几列,所以输2,最后一个一定要输入1,模糊匹配。
这个结果和前面用IF函数计算的结果一模一样,用VLOOKUP函数的模糊查找功能完美实现了这个目标,就不用IF函数那么繁琐的多层嵌套了,但IF函数对少量的条件判断还是实用的。
有时候我们不想在查找界面或单独工作表里保留这个查询条件表怎么办?我们来看案例二。
案例二、用数组替代查询表
前面我们讲过,利用F9可以将表格转为数组,恰好VLOOKUP支持数组。我们就可以利用数组将上面这个公式里的$B$2:$C$6替换掉,替换掉以后,这个条件查询表格就可以省略不要了。
公式=VLOOKUP(F2,{0,"不及格";60,"及格";70,"良";80,"优良";90,"优秀"},2,1)
案例三、提成案例
我们再来看一个利用VLOOKUP计算提成的案例,进一步加深理解,用财务上最常见的通提提成案例来看看。阶提提成思路和这个类似就不演示了。
公式=ROUND(F2*VLOOKUP(F2,$B$2:$C$5,2,1),2)
案例四、用工号查询多列案例
公式=VLOOKUP($A$17,$A$2:$G$13,B15,0)
VLOOKUP是纵向查询,比较符合我们日常表格的使用习惯,HLOOKUP是纵向查询,和VLOOKUP的函数表达式一样,但不太符合我们的表格使用习惯,所以使用频率比较小,一般我们用到的横向查询都用其他函数解决,所以HLOOKUP函数就略过了。