打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
怎样提取最后一列非空单元格内容?

    如图1,有多列数据,怎样提取最后一列非空单元格内容,比如,第2行最后一列非空单元格是B2,就把B2的内容提取出来,第5行最后一列非空单元格是A5,当行数很多的时候,一个个手工提取就非常慢,怎样快速提取呢?用函数Lookup轻松实现。

图1

在D列输入公式=LOOKUP(2,1/(A2:C2<>""),A2:C2)

我们先来看看lookup的基本语法,第1个参数lookup_value是要查找的值,第2个参数lookup_vector是在该数值值中查找,第3个参数result_vector返回该数组值中相对位置的值.如图2。如果是找不到要查找的,会从后向前查找到比它小的值,如果找不到,则返回错误值。

注意:

 1、查找的区域必须按升序排列。

...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE

 2、查找的区域可以有错误值,但在查找时会被忽略

图2

我们再来看这个公式分解:

1、以第2行公式为例,公式A2:C2<>"" ,返回的是数组true,true,false,

选中公式标红的部分按F9可以看到;


2、1/(true,true,false),得到数组(1,1,#DIV/0!)

选中公式中标红的部分按F9可以看到;


3、在数组(1,1,#DIV/0!)中查找比第一个参数2,查找不到2,返回比2小的值,错误值可以忽略,所以返回的是最后的1对应的B2单元格内容。

关于Lookup函数有些通用的公式返回对应的内容,汇总如下:

A1:A20存放着数字、文本、错误值等,下列公式将返回:
=LOOKUP(9E+307,A1:A20)返回数值
=LOOKUP(9E+307,A1:A20,ROW(A1:A20))返回数值对应的行号
=LOOKUP(2,1/(A1:A20<>""),A1:A20)返回非空单元格
=LOOKUP(2,1/(A1:A20<>""),ROW(A1:A20))返回非空单元格的行号
=LOOKUP(2,1/(A1:A20<>0),A1:A20)返回非零单元格
=LOOKUP(2,1/(A1:A20<>0),ROW(A1:A20))返回非零单元格的行号
=LOOKUP(2,1/(A1:A20="a"),A1:A20)返回指定文本单元格
=LOOKUP(2,1/(A1:A20="a"),ROW(A1:A20))返回指定文本单元格的行号
=LOOKUP(2,1/(1-ISBLANK(A1:A20)),A1:A20)返回非空单元格
=LOOKUP(2,1/(1-ISBLANK(A1:A20)),ROW(A1:A20))返回非空单元格的行号
=LOOKUP(2,1/((A1:A20<>0)*ISNUMBER(A1:A20)),A1:A20)返回不为零非空单元格
=LOOKUP(2,1/((A1:A20<>0)*ISNUMBER(A1:A20)),ROW(A1:A20))返回不为零非空单元格的行号

注1:为了确保公式通用,第1个参数始终比第2个大,所以上面的公式第一个参数都是2。

注2:9E+307表示Excel中最大的数值,我们在Excel中按F1,输入“规范与限制”,可以看到Excel 最大正数如图3:

图3

今天的分享到此结束,如果想看更多历史文章,请从菜单所有文章查看。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
强大的查找定位函数match的用法
excel常用函数之索引函数index和交叉函数match
Excel模糊查找学会这5个方法,工作简直开了挂!
查询专题 | 多年学习汇于此篇,纪念那些年忘我的学习!
史上最全MATCH函数应用教程
INDEX+SMALL+IF+ROW函数组合使用解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服