提起查找引用函数,大家想到的肯定是Vlookup,其实Vlookup也有很多缺陷,例如多条件查找,逆向查找等。要解决这些问题,还得学习Lookup的变态技巧。
一、查找最后一条符合条件的记录(单条件查询)。
通用公式:=LOOKUP(1,0/(条件区域=条件),返回值区域)。
目的:查询最后一次入库数量(单条件查找)。
方法:
在目标单元格输入公式:=LOOKUP(1,0/(C4:C10=I4),D4:D10)。
解读:
1、此公式是LOOKUP的变异公式。也是单条件查询的通用公式。其原语法结构为:LOOKUP(,查询值,查询条件,返回值区域)。
2、首先使用C4:C10=I4得到一组逻辑值,然后使用0除以得到的逻辑值,如果符合条件,就是0/TRUE,返回0 。
3、如果不符合条件,就是0/FALSE,结果就是错误值。最终得到一组由0和错误值构成的数组。
4、然后使用1作为查询值,在构成的数组中查找小于等于1的最大值,所以就以0进行匹配,并且返回“返回值区域”对应位置的内容。
二、多条件查询。
通用公式:=LOOKUP(1,0/(条件区域1=条件1)*(条件区域2=条件2)……(条件区域N=条件N),返回值区域)。
目的:查询原料在当天的采购单价。
方法:
在目标单元格中输入公式:=IFERROR(LOOKUP(1,0/((C4:C10=I4)*(B4:B10=J4)),E4:E10),"未进货")。
解读:
1、利用IFERROR函数判断公式返回值是不是有错误,如果返回值为错误,则返回“未进货”。
2、公式=LOOKUP(1,0/((C4:C10=I4)*(B4:B10=J4)),E4:E10)的查询和单条件不一样的就是多条条件查询,如果两个条件同时符合,暨TRUE*TRUE ,则返回结果为1,其它形式均返回0。
3、最后使用1作为查询值进行比较匹配,返回对应的值。
三、逆向查询(单条件查询)。
通用公式:=LOOKUP(1,0/(条件区域=条件),返回值区域)。
目的:查询最后一次入库日期(单条件查找)。
方法:
在目标单元格输入公式:=LOOKUP(1,0/(C4:C10=I4),B4:B10)。
解读:
请参阅第一示例的解读说明。
四、查询最后一次的入库日期(单条件查询)。
通用公式:=LOOKUP(1,0/(条件区域=条件),返回值区域)。
目的:查询最后一次入库日期(单条件查找)。
方法:
在目标单元格中输入:=LOOKUP(1,0/(B4:B10<>""),B4:B10)。
解读:
1、Excel中的不等于用“<>”来表示,B4:B10<>""的意思就是判断入库日期是否为空,如果不为空,则返回。
2、此处的条件区域可以根据实际情况的“关键字”来决定,如果入库必须要有日期,日期就是关键字,如果必须要有数量,数量就位关键字。也就是说必需判断“关键字”是否为空,才能准确的反映出最后的相关记录。
五、查询等级。
通用公式:=LOOKUP(查询值,查询范围)。
目的:查询成绩所对应的范围。
方法:
1、选定目标单元格。
2、输入公式:=LOOKUP(C4,$F$3:$G$6)。
3、Ctrl+Enter填充。
解读:
1、公式:=LOOKUP(C4,$F$3:$G$6)是LOOKUP函数的基本使用方法,省略了第三个参数。
2、当省略返回值范围时,默认返回值范围为查询值范围。