ROUND 05 横向查询
图5.1:横向查询——剑士索隆
LOOKUP:砍瓜切菜,轻松EASY
这种问题对VLOOKUP来说可能充满挑战,但对LOOKUP而言,简直是如砍瓜切菜般轻松EASY!!!
=LOOKUP(B7,B2:K2,B3)
图5.2:横向查询——LOOKUP砍瓜切菜
公式说明
VLOOKUP:内有贤臣,外有强援
面对LOOKUP的挑衅,不可一世的VLOOKUP函数绝不轻易认输,横向查询硬上也要上!请出转置函数TRANSPOSE来帮忙。
{=VLOOKUP(B7,TRANSPOSE($A$2:$K$3),2,0)}
图5.3:横向查询——VLOOKUP的贤臣
公式说明
当然,打仗亲兄弟,VLOOKUP也没必要事事亲力亲为,有时请个外援能解决的事,何必仰人鼻息。虽说这样做有违决斗精神,但成王败寇,过程,Who care?
=HLOOKUP(B7,$A$2:$K$3,2,0)
图5.4:横向查询——VLOOKUP的强援
公式说明
第五回合,横向查询,VLOOKUP虽然有TRANSPOSE这样的帮手为内应,更兼亲兄弟HLOOKUP函数这样的外援,但仍难以扭转败局。此番,LOOKUP胜在简单、胜在可缩写,胜在横纵皆宜!!
ROUND 06 逆向查询
VLOOKUP:天赋不足,嵌套来补
此时,VLOOKUP函数是不是黔驴技穷了?当然不是,IF({1,0},....)了解一下!
=VLOOKUP(D2,IF({1,0},B2:B9,A2:A9),2,0)
图6.1:逆向查询——VLOOKUP与IF({1,0}
公式说明
1.IF函数是逻辑函数,它的基本语句是=IF(logical_test,value_if_true,value_if_false);
2.数值1表示TRUE,0表示FALSE;
3.{1,0}表示由1和0组成的数组。
综上,IF({1,0},....)的首个条件是TRUE和FALSE组成的数组,而IF(TRUE和IF(FALSE又分别返回value_if_true和value_if_false,即IF({1,0},....)的返回值是value_if_true和value_if_false组成的数组。
接下来,小编套用上图具体分解一下。
IF({1,0},B2:B9,A2:A9)
={IF(1,B2:B9,A2:A9),IF(0,B2:B9,A2:A9)}
={IF(TRUE,B2:B9,A2:A9),IF(FALSE,B2:B9,A2:A9)}
={B2:B9,A2:A9}
LOOKUP:木有压力,纯属炫技
=LOOKUP(1,0/(B2:B9=D2),A2:A9)
图6.2:逆向查询——LOOKUP(1,0/(条件)......结构
公式说明
2.LOOKUP的匹配过程会自动忽略错误值,即参数2运算过程中的#DIV/0!将被忽略,仅保留所有的0,即{0,0,0...};
3.LOOKUP采用二分法查询,返回最后一个小于或等于目标值的匹配列值所对应的结果;LOOKUP(1,0/(条件)......结构的查询目标值为1,查询区域是N个0组成的有序数组,所以,最后一个0所对应的值即为公式返回结果。反推,即LOOKUP(1,0/(条件)......结构总是返回最后一个满足条件的值。
联系客服