我发现一个有趣的现象:很多小伙伴对 vlookup 函数不陌生,平时工作中经常使用,而对 lookup 函数却不太熟悉。
那我们今天就来说一说 lookup 函数的常用场景。
语法:
lookup(lookup_value,lookup_vector,result_vector)
释义:
lookup(查找值,查找向量,返回向量)
应用:
区间查找
符合最后一个条件查找
多条件查找
案例 1:区间查找
下表 A 列是每场活动的实际成本,B,C 列是每个成本区间对应的系数规则,如何根据规则,快速算出 A 列每个成本的系数?
是不是要套用很多 if 函数?Oh,no no no!其实很简单。
解决方案 1:
1. 如下图,增加辅助列 C,填入每个成本区间的起始值
2. 在结果列输入以下公式,向下拖动,就完成了:
=LOOKUP(A2,$C$2:$D$8)
* 请注意,$C$2:$D$8 要绝对引用
案例 2:符合最后一个条件查找
下表中的人名若有重复,则统计其最新的奖金数。
解决方案 2:
1. 在 D2 中输入如下公式,下拉即可:
=LOOKUP(1,0/($A$2:$A$13=$A2),$B$2:$B$13)
公式释义:
$A$2:$A$13=$A2:判断 $A$2:$A$13 中的值是否等于 $A2,分别返回 true 或 false
0/($A$2:$A$13=$A2):用 0 除以 true 或 false,结果为 0 或错误值 #DIV/0!
1,0/($A$2:$A$13=$A2):在结果为 0 或错误值 #DIV/0! 的数组中查找 1 的值,查到后返回,忽略错误值后区域内的值全是 0,所以函数一直向下查找,直至查找到最后一个 0 的值
$B$2:$B$13:按最后查到的 0 值,返回对应的 $B$2:$B$13 单元格
案例 3:多条件查找
下表中多了一个“月份”列,如何查出郭德纲 2 月的奖金数?
解决方案 3:
1. 在 结果单元格中输入以下公式即可:
=LOOKUP(1,0/(($F$2=$A$2:$A$13)*($G$2=$C$2:$C$13)),$B$2:$B$13)
公式释义:
0 和 1 的使用目的跟案例 2 类似,不难理解
*:表示 and,因为需要同时满足两个条件,所以用 * 把它们连接起来
领取专属 10元无门槛券
私享最新 技术干货