Excel提取每行中最后一个出现的数据(3种情况全面解析)

01|职场实例

今天遇到一个这样的Excel问题:

在Excel表格当中如何提取每行数据中最后一个出现的数据?其实这个问题呢,是一个Excel办公界很经典的问题。这里需要注意的是每行中的“数据”分为几种情况,情况不同,解决的方法也就不同。

每行中的数据有以下几种情况:

①数字数据

②非数字数据

③数字数据+非数字数据混合数据

下面我们就这三种情况一一向大家介绍解决的方案。

02-1|数据为数字的提取方案1

如下图所示:每行的产量数据都为数值格式,我们该如何在F列提取每行最后一个记录的数据呢?

我们直接在F2单元格输入函数公式:

=LOOKUP(9E+307,B2:E2)

下拉填充公式即可得到全部结果。

9E+307被认为是接近Excel规范与限制允许键入最大数值的数,用它做查询值,可以返回一列或一行中的最后一个数值。

02-2|数据为数字的提取方案2

很多时候9E307也可以用9^9来替代,9^9的意思是9的9次幂,即9个9相乘的结果387420489,不过,如果你的数据中有超过这个数字的,还是用9E307稳妥一些。

在F2单元格输入函数公式:

=LOOKUP(9^9,B2:E2)

使用lookup时,默认是按升序排列的,每次都是查找正中间位置再和要找的值进行比对,再确定是在正中间的上方查找,还是正中间的下方查找。让lookup找的又是一个很大的值,那Excel自然会向下不断查询,而没有和9^9最接近的值,也就只会显示最后一个有效的值,从而得出我们的需求值。

03-1|数据为非数值的提取方案1

如下图所示:每行的产量数据都为汉字格式,我们该如何在F列提取每行最后一个记录的数据呢?

我们直接在F2单元格输入函数公式:

=LOOKUP("座",B2:E2)

向下下拉填充公式即可得到所有的结果。

一般情况下,第一参数写成“座”也可以返回一列或一行中的最后一个文本。“座”通常被看做是一个编码较大的字符。

03-2|数据为非数值的提取方案2

除了Lookup函数,我们还可以使用IF+COUNTA+LOOKUP函数嵌套来解决:

在F2单元格输入函数公式:

=IF(COUNTA(B2:E2),LOOKUP(1,0/(B2:E2<>""),B2:E2),"")

下拉填充公式即可得到全部结果。

04|数据为数值+非数值混合内容的提取方案

如下图所示:每行的产量数据都为数值+非数值混合内容格式,我们该如何在F列提取每行最后一个记录的数据呢?

我们直接在F2单元格输入函数公式:

=LOOKUP(1,0/(B2:E2<>""),B2:E2)

下拉填充公式即可得到所有的结果。

阅读完文章之后,希望小伙伴们在文章底部帮助小编[点赞]点亮[在看]并分享转发到[朋友圈],坚持持续分享的路上很辛苦,需要有你们的鼓励与支持!您也可以通过在文章底部[留言]的方式反馈实际办公中遇到的Excel各种问题。

(0)

相关推荐