VLOOKUP 到底有多重要?

撸主大三,本科金融方向却时常玩玩计算机系统、网络还有编程。找实习(大多是财务相关,有的甚至是数据分析岗位)时候常常看见要求Excel里面特别指出,要求…
关注者
13,192
被浏览
4,540,850

239 个回答

题主的这个问题问的非常好,财务、数据分析、HR、销运等岗位的同学基本上都会用到VLOOKUP函数,很多人都以为VLOOKUP只是一般的查找函数,这也是我们绝大多数EXCEL教材中讲到的知识点,也就是本文后面提到的青铜段位的内容。但Vlookup常年霸占数据分析 常用公式榜一 的位置,且企业如此强调,肯定是有原因的。

VLOOKUP有很多隐藏的强大用法很多同学都不知道,为此,本人结合自身十多年商业数据分析的经验,总结了Vlookup常见的五个段位,大家可以结合自己的情况评估下自己的段位(内容比较长,欢迎点赞收藏,后续肯定可以用的上,也可以关注 百职帮 公众号,学习Vlookup相关课程,课程结构清晰,只需5分钟帮你迅速掌握VLOOKUP)

另外,很多同学都留言XLOOKUP的功能更为强大能否一并分享下,萨缪尔老师简单研究了下内容,现将材料更新,根据每个段位对应的XLOOKUP的公式做比较(基础的介绍就不展开了),看看哪个公式更好用

青铜段位:Vlookup基本公式

展开具体的操作前,我们先看看Vlookup的基本公式,大家可以百度或者任何一本Excel的书籍都会有介绍,这是了解这个函数的基础,相信很多人都会
VLOOKUP(value,table_array,col_index,range)

下面我们就用简单的案例来说明青铜段位需要掌握的技能
这是需要掌握的最基础的查找形式,按照公式各个参数依次输入即可实现

补充:XLOOKUP基础用法

XLOOKUP使用基础公式更简单了,直接选择查找值、查找值所在列,查找结果列。

白银段位:多列查找

这是VLOOKUP公式的简单变种,修改了第三个参数,返回哪一列,可以有两种实现方式

白银一星:COLUMN函数实现多列顺序查找

用COLUMN函数来代表所返回列值,从而实现多列查找的效果。当然, 由于COLUMN函数返回列的原因,查找的值必须在第一列才可以,且只能按照原顺序才可以直接使用,否则会出错 。此外,也有同学直接用基础查找,其他列再写一次公式,也能实现。
补充 COLUMN 函数 用来找到某个单元格在第几列,也就是寻找它的列号。
举个例子 :=COLUMN(C1),C 是第三列,所以得到结果为 3

白银二星:Match函数实现多列查找

如下图所示,我们多列查找时,并不能保证都是跟原数据顺序和位置完全一致,这是COLUMN函数就不能继续发挥作用了,所以我们引入了 Match函数

MATCH(lookup_value, lookup_array, [match_type]),本题中我们用Match函数寻找到需要查找所在列的位置,从而返回查找值。

黄金段位:Vlookup反向查找

反向查找,这也是很多同学在工作中经常会出现我们知道第二列工号,如何去找第一列姓名?我看过很多同学都是把第一列复制到后面列再用基础公式进行查找,其实,完全不用,Vlookup也有变化的形式可以来实现反向查找。
反向查找的核心公式
=vlookup(查找值,IF({1,0},查找值所在列,结果值所在列),2,0)
如下面的案例,if函数的公式其实重新再造了一个查找的数据列。

补充:XLOOKUP基础用法

XLOOKUP的反向查找,明显简单了很多,不需要构造if({1,0})函数了,跟基础用法完全一致,这是XLOOKUP的一大改进

钻石段位:Vlookup双条件查找

多条件查找也是我们经常在做动态图表时经常遇到的问题,个人习惯一般2个条件会考虑VLOOKUP,3条及以上一般会使用SUMIFS函数/COUNTIFS函数
基本公式如下:
VLOOKUP(查找值1&查找值2,IF({1,0},查找值1所在列&查找值2所在列,结果所在列),2,0)
从公式来看,同样还是4个参数,只是第一第二参数变成了复合参数,第一个参数变成了 “ 查找值1&查找值2”, 第二个参数跟前面一样,构造了新的数据表, IF({1,0},查找值1所在列&查找值2所在列,结果所在列), 我们只需要把握住这两个参数,结构基本就无问题了,理解这层关系后,也就不难理解这个用法了。
这也是我们VLOOKUP常见用法之一。

当然,感兴趣的同学也可以通过SUMIFS函数或INDEX-MATCH函数来实现,分别实现公式如下:
=INDEX($E$5:$E$604,MATCH(G22&$I$20,$B$5:$B$604&$C$5:$C$604,0))
=SUMIFS($E$5:$E$604,$B$5:$B$604,G22,$C$5:$C$604,$I$20)

补充:XLOOKUP基础用法

XLOOKUP的双条件查找,同样简单了很多,不需要构造if({1,0})函数了,跟基础用法完全一致,这是XLOOKUP的又一改进。

综上分析,我们整体认为,XLOOKUP在反向查找和双条件查找上做了很大的改进,使用起来会跟为简单,但复合函数的使用,差异不大。

王者段位:一对多查询

这是某些场景下需要使用的,掌握了会大大提升数据处理的效率。

如下图所示,我们需要根据H5选择的数据来查找 其在哪些年份是在全球GDP前十排行榜,对应的GDP和排名分别是多少。这个问题初看起来很有难度,一查多的问题,需要进行一定的变化和调整。下面我来说下具体的操作步骤。

详细操作步骤如下:

1、添加查找值,使用数据-数据验证-序列,确定需要查找的值,即H5单元格的数值

2、添加辅助列B列,计算查找值得的个数,公式:COUNTIF(E$4:E4,$H$5)

3、年份的查找:根据辅助列找到相应的各个数值,即IFERROR(VLOOKUP(ROW(B1),B$4:F$93,3,0),""),注意函数ROW的使用技巧。

补充: ROW函数 是返回每次查找的辅助列的值跟所在行的值是否一致,这个用法比较巧妙

4、双条件查找,根据国家和年份查找GDP和排名,前面已经提过了,可以参考钻石段位。

另外,非常感谢 @初学excel 提问了一个很好的问题,并给出了建议的答案,在这里也分享给大家。案例如下:

数据参考前面案例的素材,大家可以在下载文档中练习即可。我们如何用一个公式,同时计算 司马姐弟两人的工资之和,即两个人的工资求和,如何用一个公式实现?

相信很多人会使用两个公式然后再求和,或者找共同点用SUMIFS函数,本题中 @初学excel 提供了他的解决方法,非常巧妙:第一步用IF函数确定需要两个查找的值;第二步进行转置(此处是为了满足查找的要求);第三步用VLOOKUP函数完成两次查找,第四部求和。大家可以按照这个步骤去尝试下,每个阶段出现的值,便于你去理解。

SUM(VLOOKUP(T(IF({1,0},L11,L12)),A2:J51,9,0))

需要原始数据文档的同学,欢迎关注萨缪尔老师的同名微信公众号,关注后回复“VLOOKUP”,领取

最后,作为BAT多年从业和招聘的经验, Excel能力是职场晋升重要的能力之一 ,也是投入产出比最高的投资之一,如果你准备进入大厂实习,或者你因为数据处理问题而加班,或者你想在职场超越你的同龄人, 作为百词斩的铁粉,安利下百词斩旗下的Excel保姆级课程 《Excel实战训练营》 ,结构清晰,知识总结到位,学了就能用!非常适合初学者,每天只需要20分钟,时间负担小,早起/ 午休/ 睡前学一学,轻松好坚持~,值得体验。