公告:本站整合全网多家VIP站点资源,全网虚拟资源一手掌握!!!
欢迎您访问本网站,请 注 册了解更多!
网站首页 > 技能学习 > excel教程 > 正文

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

作者:免费资源网日期:2022-09-05浏览:59分类:excel教程

如下图所示,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

原文:https://mp.weixin.qq.com/s/8bNYKuIOh2pyixQpTmcyyA

本站所有资源都来源于网络收集、网友提供或者交换而来!如果侵犯了您的权益,请及时联系本站客服,我们立刻删除!

暂无评论,来添加一个吧。

取消回复欢迎 发表评论:

你的会员级别无法评论,请升级会员