美文网首页
【Excel】只会vlookup,请问领毕业证么?

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

作者: 冷漠热情 | 来源:发表于2018-01-12 11:55 被阅读0次

    相信在很多童鞋的认识里,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。

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

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

    相关文章

      网友评论

          本文标题:【Excel】只会vlookup,请问领毕业证么?

          本文链接:https://www.haomeiwen.com/subject/usxfoxtx.html