【Excel】只会vlookup,请问领毕业证么?

相信在很多童鞋的认识里,Excel最常用的函数之一,都会有vlookup吧。

 VLOOKUP(查找目标,查找范围,返回值的列数,精确OR模糊查找)

常规的实例大家都可以在网上铺天盖地地找到教程,我这里不会详细说明。

关于vlookup的局限性,有以下三点:

不能反向查找:vlookup只支持对查找范围里第一列进行匹配,不能对查找范围内其他列匹配

单一条件匹配:查找目标只有一个条件,不支持多个条件

一对一查找:存在相同目标值时,只返回第一个

1、常规用法

公式:

=VLOOKUP(F3,B:C,2,0)

查找目标只有一个(第一个参数:F3)

刚好在查找范围的第一列内(第二个参数:B:C)

返回值查找范围的第二列值(第三个参数:2)

使用精确匹配(第四个参数:0)

2、反向查找

上面说了,vlookup限制很死,只能从查找范围第一列里找,那怎么破?!

公式:

=VLOOKUP(F3,IF({1,0},C:C,B:B),2,0)

利用IF({1,0},C:C,B:B)来构造一个 C:C&B:B的数组,相当于B:C反向

同理,这个也行:IF({0,1},B:B,C:C)

举一反三

对于第一条常规用法的时候,如果我们想要返回第三列的值,正常情况下是

=VLOOKUP(F3,B:D,3,0)

将整个数组都包进去,要是查找目标与返回值之间相隔着十几列甚至是几十列呢?要数返回第几列不就数死你了?

而如果用IF({1,0},C:C,B:B),则可以将数组控制在两列

公式:

=VLOOKUP(F3,IF({1,0},B:B,D:D),2,0)

3、多条件匹配

哪里有剥削,哪里就有反抗!连“不让多条件查找”都能破!

“&”组合数组方式

公式:

=VLOOKUP(F2&G2,IF({1,0},B:B&D:D,C:C),2,0)

由于是组合数组,不能直接按回车,要按Ctrl+Alt+Enter

先用F2&G2来构造“凤凰中文有效”的条件,然后匹配B:B&D:D之中有这个条件的。可以从下面的辅助列方法看到B:B&D:D的效果

辅助列方式

先在E列作个辅助列,公式

=B2&D2,然后向下填充

然后在I2输入公式:

=VLOOKUP(G2&H2,IF({1,0},E:E,C:C),2,0)

一样是通过IF({1,0},E:E,C:C)来构造新的数组,只是第一列换成了辅助列

4、一对多查找

在本教程的栗子中,“凤凰中文有效”匹配到的目标值不只一项,如何才能按顺序返回不同的值呢?

还是需要辅助列

在原辅助列的右边,在加一列,公式

=COUNTIF(E$1:E2,E2),向下填充

意思是,从E1开始到当前格时,当前格的值重复了多少次

E$1是为了向下填充的时候,每个COUNTIF都是保持从E1开始数的。

然后定位J2,公式

=VLOOKUP(H3&I3&ROW(A1),IF({1,0},E:E&F:F,C:C),2,0)

按Ctrl+Alt+Enter

H3&I3&ROW(A1)为了构造“凤凰中文有效1”,对应在E:E&F:F数组里找。

Row(A1)是为了向下填充的时候可以 每行自动增加1。

微信搜索公众号@圣创杂学堂,即可获取每天更新

原创不易,转载请保留出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容