LOOKUP()函数的2种形式,理解第一种,会用第二
①公式:=LOOKUP(查找值,查找区域,返回区域),返回区域不写默认为查找区域最后一列
②公式:=LOOKUP(1,0/(查找条件),返回区域),查找条件可以是多条件(AND,OR,NOT)。
使用①公式,首先必须保证查找值,所在列是升序排序(降序也不行),否则查不到准确值;然后也要保证查找列中有查找值,因为即便查找值不存在也会返回一个最接近的近似值。
二分法查找:比较查找值和查找列中间值,查找值小于中间值,在上半区继续二分;查找值大于中间值,在下半区继续二分,可以用一列数,理解二分法查找。
使用②公式,则不必考虑升序排序,通过(1,0/(查找条件),返回区域)变形计算。满足查找条件是1,不满足是0。0/(查找条件)就把查找区域变成一列数:{满足条件的是0,不满足是错误值(0/0没有意义)},二分法也必然返回的是0对应的数据,0最接近1。所以1和0是可以调的的,但是没有必要。
一、公式①简便查询及公式②对比
根据姓名查分数,有指定返回区域,返回查找值对应记录(行)的指定返回列的数据。没有指定返回区域,默认为指定区域为查找区域最后一列。切记查找值,所在的列,必须升序排序。
使用公式②就不用考虑排序了,但必须指定返回区域。
二、多条件匹配查询
根据客户在R(最近一次消费时间)、F(消费频率)及M(消费金)的数据表现划分为8个等级,建立客户分级标准。现在已知每个客户在RFM下的消费数据表现,根据分级卡对客户进行判别分类。
公式:
=LOOKUP(1,0/(($Q$3:$Q$10=L3)*($R$3:$R$10=M3)*($S$3:$S$10=N3)),$T$3:$T$10)
(($Q$3:$Q$10=L3)*($R$3:$R$10=M3)*($S$3:$S$10=N3))相当于同时满足3个条件。
每个客户的RFM数据都要和分级卡中的RFM匹配,完全匹配后返回分级卡中的客群划分。
三、替代IF()函数嵌套
同样是针对学生分数评级,IF需要嵌套:
=IF(B2<60,"E",IF(B2<70,"D",IF(B2<80,"C",IF(B2<90,"B",IF(B2<100,"A","SSS")))))
而LOOKUP就显得非常简洁:
=LOOKUP(B2,{0,60,70,80,90,100;"E","D","C","B","A","SSS"})