进阶LOOKUP

LOOKUP函数进阶为高手必须掌握的一个函数,废话么有,直接开搞~
开始,我们还是来说一下游戏规则(虽然枯燥难懂),官方长篇大论,我简单给大家总结一下:
语法有两种:
1、向量形式:LOOKUP(查找内容,查找区域,返回区域)- 常用
2、数组形式:LOOKUP(查找内容,包含查找和返回区域)
LOOKUP核心知识点总结:
1、查找区域必须升序排列,否则按照二分法处理(本教程不谈二分法)
2、如果查找不到,返回小于等于查找值的最大值
3、如果查找值比查找区域中的值都小,返回#NA错误值
4、查找区域必须是单行或者单列,返回区域对应!
5、数组方式,矩形长为查找查找区域,结果列用于是最后一列(列)
6、忽略查找区域中和查找值类型不一致的数据,常见忽略错误值
7、如果查找值大于查找区域中所有值,则返回最后一个满足条件的值
以上7点总结,我们通过几个案例来直观学习一下
案例1 | 年龄组划分
图中可以看出其实向量和数组的写法,一般都是可以切换的!
强调知识点2:返回小于等于的最大值对应的值
比如38,在年龄分段中找,没有38,查找小于等于38的值,有36、15和7
其中最大的是36,所以返回中年,其他同理!
以上基本扩展开到一般的账龄分析、各种分段
比如这个案例的简化:放开IF,LOOKUP来简化
案例2 | 数组方式结果列和查找区域的确定
这个案例总结的第五个知识点,数组方式,查找区域总是由矩形区域的长决定的
结果为最后一行或者列。
以上两个算是LOOKUP最最基本的用法了!日常我们很少这么玩!
看看进阶的用法
案例3 | 文本中提取数值
此案例要求从文本中提取手机号,如果有多个提取最后一个!
这里我们有一个通用的玩法,如果查找值比查找区域中的值都大,那么返回最后一位位置对应的值!
案例4 | 合并单元格的拆分
这个应该是进阶阶段最常用的套路了,重点是他的结果是内存数值可以进一步参与后续处理,比如分组排名
我们一般大部分都是通过LOOKUP来构建内存数组,第一参数数组话,第二参数忽略和查找类型不一致的数据!新手实在理解不了可以放一放!
案例5 | 经典套路-多条件查找
0/条件,结果不是0就是错误值,忽略错误值,剩下的就是0,我们找一个比0大的,就可以得到最后一个0对应的值,也就是最后一个满足条件的值,如果3班也有同名,那么返回最后一个!
案例6 | 最后一个数值、文本和非空
很多人看到其中的符号都可能说看不懂,这里我们简单讲解一下:
文本中的“做”,也也经常看到“座”,其实都一样!我们可以认为是按照拼音排序最大的汉字(最靠后)zuo,如果你还能找出更靠后的也可以,但是基本不多了,所以我们可以认为他比其他汉字都大,按照总结第7点,返回最后一个文本!
9E+307也可以认为是Excel中最大数值,一般可以使用9^9来代替,应该足够大,一般够用。
其实这个可以扩展到动态区域,包括自动打印区域、自动下来列表和透视表自动适应的数据源
扩展学习:
(0)

相关推荐