lookup函数【5】大【应用实例】
查找函数我们之前介绍了vlookup函数,它是Excel最重要的函数之一。今天我们在介绍一个最重要之一:lookup函数。甚至在某些方面,lookup函数功能还要强过vlookup函数。甚至我们可以说,lookkup函数是Excel函数皇冠上面的钻石!下面,让我们一起通过几个例子来感受一下它的超强能力吧!
lookup函数的语法结构:
向量形式:
LOOKUP(lookup_value,lookup_vector,[result_vector])
Lookup_value:在lookup_vector中要搜索的值
Lookup_vector:只有一行或一列搜索范围
Result_value:对应于lookup_up的,返回值的区域
数组形式:
Lookup(lookup_value,array)
Lookup_value: 用数值或单元格号指定索要查找的值
Array: 指定的检索范围
例一:分列
我们一些介绍过用substitute函数来分列,大家还记得吗?在实际应用中,lookup函数更为简单方便。
上图中,C3单元格是以substitute函数实现的分列。C4单元格中用的是lookup函数:“=-LOOKUP(1,-LEFT(A3,COLUMN(A:X)))”
用left函数,分别提取出“1,16,168...”,并形成一个新的数组
加负号是数字类型的数据变成负数
使用lookup函数在数组中查找“1”
查找不到“1”,因此返回数组中最后一个数字型数据“-168318”
最后负负得正
例二:提取最右侧的文本
一般而言,一行中最右侧的数据往往都是最新的数据。很多时候都需要提取最新的数据,如下列:
单元格E8中输入“=LOOKUP(1,0/($A$8:$C$8<>""),$A$8:$C$8)”即可。
首先判断是否为空,产生一个新的数组后,在用“0”去除这个数组,又得到一个新的数组
使用lookup函数查找“1”,返回最后一个数据
例三:提取最右侧的数值
此例中,我们在E12单元格中输入“=ROUND(LOOKUP(9E+307,A12:C12),2)”就可以提取最右侧的数值了。这里,9E+307是Excel世界中的最大值。当函数查找不到查找值时,就返回区域中最右侧的数据。
例四:逆向查找
前面几篇中我们介绍的逆向查找的方法有if函数、match+offset函数。今天介绍的lookup函数也可以实现此功能。
我们在单元格F16中输入“=LOOKUP(1,0/($B$17:$B$19=E16),$A$17:$A$19)”即可。这个和前面提取最右侧文本的那个用法类似。它们有一个通用的公式:
LOOKUP(1,0/(条件),目标区域或数组)
今后所有类似的问题都可以用上面这个公式来完成。
例五:多区间条件判断
我们在单元格G25中输入“=LOOKUP(B25,{0,59,79,95;"不及格","良","优良","优秀"})”,并下拉即可。
今天就到这里,休息一下吧!
-END-
请点击文章末尾的阅读原文领取红包吧!祝大家都有好运气!
欢迎关注【Excel应用之家】专栏,了解更多的Excel实际应用技能,尽在Excel应用之家!
版权声明:本文归Excel应用之家专栏(微信公众号Excel应用之家)原创撰写,未经允许不得转载。欢迎关注专栏/公众号。