LOOKU函数的几种经典用法
篇外话:对于lookup的计算原理,可以自行百度搜索Excel二分法原理了解,这方面的内
容要细说比较复杂,不过要想用好lookup也不是非得掌握这个原理不可,好比很多数学公式,我们都是直接拿来用,但是要去证明或者推导公式,就需要更多的专业理论才行。
当然, 如果以后有机会的话,会用比较通俗好理解的言辞来专题讨论二分法了。
本帖目的在于将lookup函数的常用写法进行整理后方便使用者随时查找套用,用的多了自然会达到熟能生巧的效果,更重要的是,lookup的计算效率和功能之强大的确是令人称赞的。
一、逆向查找、多条件查找:
先看例题:
一般这样的查找可以使用vlookup或者index+match这些函数和数组配合使用来实现需要,
但是使用lookup的话只要记得查找公式的标准格式,然后不管多少个条件,都可以自己套写公式了。
例一公式为:=LOOKUP(1,0/(B2:B9=G2),A2:A9)
例二公式为:=LOOKUP(1,O/((A2:A9=G6)*(C2:C9=H6)),B2:B9)
这两个公式就是LOOKU函数最典型用法。
可以归纳:=LOOKUP1, 0/(条件),目标区域或数
其中,条件可以是多个逻辑判断相乘组成的多条件数组,
=LOOKUP(,0/ ((条件1)*(条件2)* ( 条件N)),目标区域或数组)
使用要求:能够理解条件的写法以及目标区域的写法,记准公式格式,注意条件之间的括号,
切不可配错哦。
、要查询A列中的最后一个文本,也非LOOKUP!数莫属,用到的公式是:
=LOOKUP("々”,A:A )
”々”通常被看做是一个编码较大的字符,它的输入方法为<Alt+41385>组合键。
如果感觉
每次写这个符号有点费事儿,也可以写成:
=LOOKUP(座",A:A )
一般情况下,第一参数写成“座”也可以返回一列或一行中的最后一个文本。
三、要查询A列中的最后一个数值,用到的公式是:
=LOOKUP(9E307,A:A )
9E307被认为是接近Excel规范与限制允许键入最大数值的数,用它做查询值,可以返回一
列或一行中的最后一个数值。
很多时候9E307也可以9A9取代,也即9个9相乘的结果9,
不过,如果你的数据中有超过这个数字的,还是用9E307稳妥一些。
四、根据简称查询全称的问题相信大家都会经常遇到吧如下面这个图中所示,A列是客户的
C2单元格输入以下公式,可得到“上海沛发”的客户全称“上海沛发包装材料有限公司”。
=IFERROR(LOOKUP(1,0/FIND(A2,E$2:E$13),E$2:E$13),"")
公式中“ 0/FIND(A2,E$2:E$13) ”部分,首先用FIND函数查询A2单元格“上海沛发”在
E$2:E$13的起始位置,得到一个由错误值和数值组成的数组。
余下部分的计算过程就和咱们前面说过的一样了,使用IFERROR函数来屏蔽公式查询不到对应结果时返回的错误值。
五、多个区间的条件判断。
例题如图,50分以下的为“很差”,50-59分的为“差”,60-74分的为“一般”,75-85
这种多个区间的判断,如果需要判断的条件和区间都很多,如果使用IF函数来计算,估计会把自己都转晕了。
而使用LOOKUP!数来解决,不过是小菜一碟而已。
C2单元格输入以下公式,向下复制即可。
=LOOKUP(B2,{0,50,60,75,86,96;" 很差","差","一般","较好","优秀","能手"})。