Excel情报局
职场联盟Excel
生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN
1
职场实例
今天遇到一个这样的Excel问题:
在Excel表格当中如何提取每行数据中最后一个出现的数据?其实这个问题呢,是一个Excel办公界很经典的问题。这里需要注意的是每行中的“数据”分为几种情况,情况不同,解决的方法也就不同。
每行中的数据有以下几种情况:
①数字数据
②非数字数据
③数字数据+非数字数据混合数据
下面我们就这三种情况一一向大家介绍解决的方案。
2
解题思路
01
如果数据为数字
如下图所示:每行的产量数据都为数值格式,我们该如何在F列提取每行最后一个记录的数据呢?
我们直接在F2单元格输入函数公式:
=LOOKUP(9E+307,B2:E2)
下拉填充公式即可得到全部结果。
9E+307被认为是接近Excel规范与限制允许键入最大数值的数,用它做查询值,可以返回一列或一行中的最后一个数值。
很多时候9E307也可以用9^9来替代,9^9的意思是9的9次幂,即9个9相乘的结果387420489,不过,如果你的数据中有超过这个数字的,还是用9E307稳妥一些。
在F2单元格输入函数公式:
=LOOKUP(9^9,B2:E2)
使用lookup时,默认是按升序排列的,每次都是查找正中间位置再和要找的值进行比对,再确定是在正中间的上方查找,还是正中间的下方查找。让lookup找的又是一个很大的值,那Excel自然会向下不断查询,而没有和9^9最接近的值,也就只会显示最后一个有效的值,从而得出我们的需求值。
02
如果数据为文本
如下图所示:每行的产量数据都为汉字格式,我们该如何在F列提取每行最后一个记录的数据呢?
我们直接在F2单元格输入函数公式:
=LOOKUP("座",B2:E2)
向下下拉填充公式即可得到所有的结果。
一般情况下,第一参数写成“座”也可以返回一列或一行中的最后一个文本。“座”通常被看做是一个编码较大的字符。
除了Lookup函数,我们还可以使用IF+COUNTA+LOOKUP函数嵌套来解决:
在F2单元格输入函数公式:
=IF(COUNTA(B2:E2),LOOKUP(1,0/(B2:E2<>""),B2:E2),"")
下拉填充公式即可得到全部结果。
03
如果数据为混合内容
如下图所示:每行的产量数据都为数值+非数值混合内容格式,我们该如何在F列提取每行最后一个记录的数据呢?
我们直接在F2单元格输入函数公式:
=LOOKUP(1,0/(B2:E2<>""),B2:E2)
下拉填充公式即可得到所有的结果。
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。