excel里面如何提取几个单元格中最后一个非空单元格里的数值/文本?

如图,最新一次跟踪时间之前有25次故障,我想要每个单元格一一对应的提取,如果是用lookup的话只能是正行最后一个提取啊
是这样的,本人想见一个用户跟踪的表格,用excel可以建25次的跟踪,每次跟踪完的详细信息都记录在相应的单元格中。如图,在最新一次跟踪时间中,需要提取相应的最新一次的记录信息。比如在第3行,第24次跟踪中,第24次电话时间是“3月31日”,那么,在最新一次跟踪时间中的最新一次电话时间显示“3月31日”。在25次跟踪中添加项目后,最新一次跟踪记录也会进行自动的提取。

目前使用LOOKUP的公式
=LOOKUP(9E+307,V3,AE3,AN3,AW3,BF3,BO3,BX3,CG3,CP3,CY3,DH3,DQ3,DZ3,EI3,ER3,FA3,FJ3,)
显示输入函数过多……

请看看是不是这个效果了,假定数据是从A列到IT列,在IL3输入数组公式,按三键 CTRL+SHIFT+回车,然后右拉至IT列。

公式是读取最后一次有数据的次数,本例是第24次。


=INDEX($A3:$IK3,SMALL(LARGE(IF($A3:$IK3<>"",COLUMN($A:$IK)),COLUMN($A:$I)),COLUMN(A1)))


追问

嗯是的,就是这个效果,可是为什么我试不出来?

追答

一、这是数组公式,输入完成后要按三键CTRL+SHIFT+回车 结束的。

二、从你问题补充中的区域根我提供的公式中的区域是否一至?你用的LOOKUP公式中是从V3开始的?要弄清楚开始和结束区域,然后修改公式中的区域。 注意公式中的COLUMN($A:$I)这个部份并不完全对应列的,这是对应你每一次追踪都是有9列内容的,所以这部份不要修改。

三、如果还是不行,请像我上面的截图那样把问题发到追问来看看,或者如果表格可以发送的,发到邮箱 [email protected]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-23
‘====================
楼主怎么不采纳我的呢
我觉得我的不错啊
’=======================
可以 使用宏建一个函数
如果是同一行或同一列的

拷贝到后台宏
Public Function lastdiy(rng As Range)
Dim temp As Variant
temp = "err"
For Each s In rng
If s <> "" Then temp = s
Next s
lastdiy = temp
End Function

‘=====================
前台使用
=lastdiy(a1:a10)
就可以得到最后一个非空的值
全部是空的 返回 err追问

小可不才,excel刚刚入门,兄台的方法不会用啊……

追答

你留个联系方式
我发个模板邮件给你

追问

QQ379780239 这个问题放了一段时间,现在又开始烦恼了

本回答被网友采纳
第2个回答  2013-03-23
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删)、excel样表文件(请特别注意:要03版的(如果是03以后的,把文件“另存为”一下,类型框可以选择03的),把现状和目标效果表示出来)作为附件发来看下 [email protected]
第3个回答  2013-03-23
你这个题的关键点有两个:一是找出起始跟踪表的位置,及每次的对应关系;二是若某次跟踪信息填写不全,能够保证提取的数据正确。我给出以下公式,已测试通过
=INDIRECT(ADDRESS(3,21+9*(ROUNDUP((MAX(($A3:$IK3<>"")*COLUMN($A:$IK))-21)/9,0)-1)+COLUMN(A1)))&""

按组合键ctrl+shift+enter结束公式输入,右拉填充
第4个回答  2013-03-23
因为不知道你的表示怎么编排的,不好提供公式,但提取最后一次不一定是LOOKUP函数,INDEX+COUNT也可实现。追问

index用了,好像只能选取整行或整列,没办法选取几个单元格的范围

追答

所以,我一开始就说了,我不知道你的表格是怎么编排的。

相似回答