
Lookup函数是典型的查找引用函数,今天,小编带大家进一步了解Lookup函数的典型用法。
一、Lookup函数功能及语法结构。
功能:
语法结构:
1、向量形式:
解读:
2、数组形式:
解读:此处的“数据范围”必须同时包含“查找值”和“返回值”的数据范围,而且“查找值”必须是“数据范围”的第1列,“返回值”必须是“数据范围”的最后1列。
目的:

方法1:
在目标单元格中输入公式:=LOOKUP(J3,$B$3:$B$12,$G$3:$G$12)。
解读:
此方法是向量形式。
方法2:
在目标单元格中输入公式:=LOOKUP(J3,$B$3:$G$12)。
解读:
此方法为数组形式,查询值“J3”的值在B列,即数据范围的首列,返回值在G列,即数据范围的最后1列。
二、Lookup函数的“缺陷”及解决技巧。
以“查询值”所在的列为“主要关键字”升序排序
目的:

在目标单元格中输入公式:=LOOKUP(J3,B$3:B$12,G$3:G$12)或=LOOKUP(J4,B$3:G$12)。
解读:
使用排序的方法虽然可以达到预期的效果,但毕竟多了一个操作,也不是特别方便,如果不想排序,就可以使用“变异”的向量形式。
原理:
目的:
方法:

在目标单元格中输入公式:=LOOKUP(1,0/($J$3=$B$3:$B$12),$G$3:$G$12)。
解读:
1、不用提前升序排序。
2、从上述的公式中不难发现,“变异”查询的本质还是向量形式,查询值为1,查询范围为:0/($J$3=$B$3:$B$12),返回值范围为:$G$3:$G$12。当J3单元格的值等于B3:B12范围中的值时,返回1,0/1返回0;而不等于是,返回0,0/0返回错误值,所以查询值范围是由一个0和多个错误值构成的数组,根据Lookup函数的向下匹配原则,则返回查询值中等0对应的返回值。
三、应用案例。
1、多条件查询。
目的:

方法:
在目标单元格中输入公式:=LOOKUP(1,0/((J$3=B$3:B$12)*(K$3=F$3:F$12)),G$3:G$12)。
解读:
多条件查询的原理可以参阅“变异”查询的原理,1*1=1、0*1=0、0*0=0;即只有当多个条件同时成立时,总条件才成立。
2、逆向查询。
目的:

方法:
在目标单元格中输入公式:=LOOKUP(1,0/(K$3=C$3:C$12),B$3:B$12)。
解读:
多条件的逆向查询原理相同哦!
3、区间(等级)查询。
目的:

方法:
在目标单元格中输入公式:=LOOKUP(H3,K$3:K$6,L$3:L$6)。
解读:
区间查询的原理其实就是向下查询,返回对应的值。
4、填充合并单元格。
目的:

方法:
在目标单元格中输入公式:=LOOKUP("一",G$3:G3)。
5、返回指定列最后一个非空单元格的值。

方法:
在目标单元格中输入公式:=LOOKUP(1,0/(G$3:G$12<>""),G$3:G$12)。