大数跨境
0
0

若是不会LOOKUP函数的这个用法就太可惜了~

若是不会LOOKUP函数的这个用法就太可惜了~ 数据分析就用Excel
2022-08-20
0
导读:LOOK~

HI,大家好,我是星光。开门见山,先提一个小问题……


如下图所示,A列是一些乱七八糟的数据,现在需要提取最后出现的数值,你会怎么写函数公式呢?



有一个经典的LOOKUP函数套路是这样的


=LOOKUP(9^9,A:A)


计算结果是10086。


这个公式总结成套路,如下:


=LOOKUP(一个比查询范围同类数据都大的值,单列或单行查询范围,单列或单行结果范围)


如果该套路的第3参数省略,则将查询范围视为结果范围。


例如:


=LOOKUP(9^9,A:A)


等同于:


=LOOKUP(9^9,A:A,A:A)


LOOKUP函数的这个套路性用法有什么用呢?如果只是提取A列最后的数值……似乎也没啥作用?


其实不然。


我先举个简单的小栗子。


如下图所示,是一份考评表。需要在N列计算每个人最后参与考评的月份。



例如A2单元格的看见星光,最后考评的月份是3月(3月就失业了),A4单元格的肥书记,最后考评月份是12月……

那么函数应该怎么写呢?


=LOOKUP(250,B2:M2,B$1:M$1)


这就是我们刚刚说的LOOKUP套路性用法不是?


=LOOKUP(一个比查询范围同类数据都大的值,单列或单行查询范围,单列或单行结果范围)


B2:M2是单行查询范围,B$1:M$1是对应的单行结果范围,250比查询范围内所有的同类数据都大,因此返回最后出现的数值对应的月份。



打个响指,你要是觉得250不好听,换成其它数值也可以,比如521、666、888、999等等,没别的要求,只要比查询范围内所有的同类型数据都大就行了。


……


再举个小栗子。


如下图所示,需要把A列数据前面的数值提取到B列,例如204看见星光,结果为204,165606If结果为165606,等等……


说来你不信,前面的数字是月薪..▼


函数我们可以写成这样:


=LOOKUP(9^9,--LEFT(A2,ROW($1:$15)))


LEFT(A2,ROW($1:$15))部分,从A2单元格的左边,依次提取1、2、3、4……直至15位的数据,返回结果:2,20,204,204看,204看见……


再通过减负运算(--),将LEFT函数的计算结果转换为数值。此时纯文本无法进行数学运算,例如--204看,它将返回错误值#VALUE!


这个部分计算结果是一个内存数组▼


{2;20;204;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}


LOOKUP天生忽略错误值,再用一个比查询范围所有数值都大的数值9^9进行查询,也就返回最后出现的数值,即204。



怎么样,是不是有点意思呢?


最后,留一个扩展题儿,如何快速提取A列最后出现的文本值呢?



示例文件下载,百度网盘..

https://pan.baidu.com/s/1G2AquJgJyekj8CSHiXCbFQ
提取码: rd28


【声明】内容源于网络
0
0
数据分析就用Excel
Excel易用宝专属公众号,分享Excel操作技巧、函数、公式、透视表、图表、VBA及Power BI教程,助您轻松提高办公效率,搞定数据分析!
内容 855
粉丝 0
数据分析就用Excel Excel易用宝专属公众号,分享Excel操作技巧、函数、公式、透视表、图表、VBA及Power BI教程,助您轻松提高办公效率,搞定数据分析!
总阅读193
粉丝0
内容855