原创作者: Excel随风 转自: Excel进修与实战

大家好我是随风,最近有不少小伙伴在后台要求适当发一点常用基础函数应用的内容。所以今天的主要内容就是.........见标题

“正经的”条件引用

第一个函数当然是VLOOKUP,不多说看之前的文章即可。

VLOOKUP函数这么受欢迎?为什么你对它又爱又恨?

这是非常标准的一种查找方式

与以下几种做个对比

VLOOKUP 常规操作,不多说


=VLOOKUP(H2,A:C,3,FALSE)

INDEX+MATCH 经典查询,稍后单说


=INDEX(C:C,MATCH(H2,A:A,0))

LOOKUP 进阶函数,作为Lookup家族的老大和曾经的查询之王,值得拥有专门的篇幅来说


=LOOKUP(H2,A:A,C:C)

OFFSET 杀鸡用牛刀了,用在这种地方,受委屈了


=OFFSET(C1,MATCH(H2,A:A,0)-1,)

INDIRECT 99.99%的人用不到的函数,不多说了


=INDIRECT("c"&MATCH(H2,A:A,0))

综上所述,推荐1/2/3三种方法。


知识点:

不知大家有没有发现出镜率最高的竟然是它MATCH

为什么一个辅助函数在这里值得拥有姓名?

因为MATCH是一个定位函数,它虽然不能直接返回查找值的结果,但是它能返回对应的位置。

除了LOOKUP系列的函数(vlookup,lookup,Hlookup)和少部分函数可以直接引用之外,其他的像index,offset之类的都是间接引用函数,都需要先有定位才能根据定位取值,大部分时候我们都会选择用match定位。

MATCH函数语法:返回查找值在查找区域中的相对位置


MATCH(查找值,查找区域,查找模式)

  • 查找值:与VLOOKUP函数一样,是可以支持通配符的
  • 查找区域:位单行或者单列
  • 查找模式:
  • 1返回大于查找值的最小值
  • 0精确查找
  • -1返回小于查找值的最大值
  • 三种模式,常用的为0精确查找即可。

“不正经”查找引用逆向查询:

顾名思义,查找的条件在返回值所在列的右侧我们称之为反向查找

上边说的几个公式,除了VLOOKP之外,都可以为所欲为的查找,不管在做还是在右,建议大家自己下载示例文件动手试试。

那么Vlookup可不可以呢?可以,但是不建议,因为很麻烦。光看公式你就不想学了。

核心都是调换查找值和返回值列的顺序,为什么VLOOKUP就要这么麻烦?

因为,其他的函数都是查找值列和返回值列是分开的两个参数,只要调换两个参数的位置就好。

但是Vlookup的查找列和返回值列是一个参数,在一个参数里,我们引用一个区域,Excel默认就把较小的列放在前边,而Vlookup又只能把第一参数作为条件,因此需要特殊的方式调换。

牵扯数组,以后有机会再聊,大家知道Vlookup可以做到就可以了,但是不推荐使用,毕竟lookup挺香的。


多条件引用

这里多条件有两种:

1、交叉查询

同时AB两列同时满足条件,则返回C列销售额


{=VLOOKUP(H3&H2,IF({1,0},A2:A17&B2:B17,C2:C17),2,0)}


=LOOKUP(1,0/((A2:A17=H3)*(B2:B17=H2)),C2:C17)


{=INDEX(C2:C17,MATCH(H3&H2,A2:A17&B2:B17,0))}


不讲原理只讲套路,1和3是一样的作法,重新构建条件区域(内存数组)将条件合并后进行查找定位返回值。

这时候就说明为什么LOOKUP可以成为查找之王

套路说明:


=LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2)),返回值区域)

直接套用即可。


注意:文中公式最外层的中括号{ }全部为三键CTRL+SHIFT+ENTER结束输入公式后系统自动增加的。不要手动添加。(除了{1,0}之外)

今天的内容适合收藏后,用时查阅

附件链接

链接:https://pan.baidu.com/s/1sDwJkTcp4v0J9GANjcOfDg

提取码:f13m

打完收工