昨天有同学问了一个模糊查找的问题,用vlookup无法实现,只能把lookup函数搬了出来。
例1:如下图所示表1为省市的提成表,表2的A列是详细地址,要求根据省市关键字从表1中查找相对应的提成。
公式:B10=LOOKUP(9^9,FIND(A$3:A$6,A10),B$3:B$6)
公式说明:
FIND():用FIND查找当前地址中是否包括表1的省市。查找成功返回数字;查找不到返回错误值#VALUE!
9^9:一个足够大的数字。
lookup() : 忽略错误值,查找比9^9小且最接近的数字的位置,并返回B列对应的提成。
例2:如下图所示表1是公司的全称。要求在表2中根据公司的简称查找相对应的B列的应付账款。
公式:B10=LOOKUP(9^9,FIND(A10,A$3:A$6),B$3:B$6)
公式说明:和例1相同,略。
Lookup函数在查找数据方面几乎无所不能,再看3个应用
例3:查找最后一条符合条件的记录。
例4:多条件查找
例5:指定区域最后一个非空值查找
连提取数字也离不开lookup函数
例6:数字在开头
A1的值为 123.45ABC
公式:
=LOOKUP(9^9,LEFT(B1,ROW(1:9))*1)
截取结果:123.45
例7:数字在结尾
A1的值为 ABC123.45
公式: =LOOKUP(9^9,RIGHT(B1,ROW(1:9))*1)
截取结果:123.45
例8:数字在任意位置
A1的值为 ABC123.45FE
数组公式:{=LOOKUP(9^9,MID(A1,MATCH(1,MID(A1,ROW(1:9),1)^0,0),ROW(1:9))*1)}
截取结果:123.45
补充:lookup函数的应用远不止这些,在excel函数中它能实现的查找远远超过vlookup函数。