读者:根据查找值,获取每个商品名称的价格。
查找对应值,一般用VLOOKUP函数,可惜在这里派不上用场。VLOOKUP函数只能以少的内容,查找多的,比如根据商品名称,查找字符对应的数量。
=VLOOKUP("*"&A2&"*",E:F,2,0)
以多的内容查找少的,要用LOOKUP函数,这个函数更灵活。
=LOOKUP(1,0/FIND($A$2:$A$5,E2),$B$2:$B$5)
LOOKUP函数语法:
=LOOKUP(1,0/(条件),返回区域)
这里的1跟0是固定模式,只要前面的数字大于后面就行,比如改成2和1也可以,俗称以大欺小。
只需变动条件跟返回区域即可。条件,这里用FIND($A$2:$A$5,E2),就是判断每个商品名称是否在查找值中出现,如果有就返回一个数字,没有就返回错误值。
0除以任何数值都是0 ,0除以错误值返回错误值。0/FIND($A$2:$A$5,E2)这一步的计算结果转换成0和若干错误值#VALUE!,目的是为了方便1来查找0。
在查找的时候,1查找小于等于1的值,忽略掉错误值。因为只有一个0,就找到0对应的值,返回苹果对应的价格23。
读者:我对LOOKUP有点不信任,因为每次多条件匹配的时候,VLOOKUP和INDEX+MATCH最准确,LOOKUP略次,所以我很少用。还请老师赐教。
多条件查找,首选LOOKUP函数。
对LOOKUP函数不信任,源于对这个函数不了解。如果查找每个人员的金额,直接用普通的查找方法,肯定会出错。
在使用LOOKUP函数的时候,要时刻谨记LOOKUP函数的经典查找模式,有了这个模式,查找这些轻而易举。
语法:
=LOOKUP(1,0/(条件),返回区域)
直接套用模式:
=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10)
即使再增加一个条件,又何妨?
根据姓名和项目名称两个条件查找金额。
LOOKUP函数的条件,可以是一个,也可以是多个,都是直接套用就可以,都很简单。
=LOOKUP(1,0/(($A$2:$A$10=E2)*($B$2:$B$10=F2)),$C$2:$C$10)
语法:
=LOOKUP(1,0/((条件1)*(条件2)*(条件n)),返回区域)
当然LOOKUP函数也不是万能的,当数据量非常庞大,计算速度非常慢。小数据用Excel,大数据用数据库。
领取专属 10元无门槛券
私享最新 技术干货