Excel 如何提取行有有效数据最后一行的最后一个有效数据

如图,如需要提取D9单元格的数据,无论汉字、字母、数字

即:有有效数据最后一行的最右边数据。

下面还应该有很多行。
希望得到大侠们的指教!
或者要提取最右边一列的最后一个数据,本例中如E8的数据又怎么办?

LOOKUP和ISNUMBER函数综合处理

Excel版本参考:2010

测试数据区域:A1:A13,其中有数字、文本和空格

1、选中B1单元格

2、输入公式:=LOOKUP(1,0/(ISNUMBER(A1:A13)),A1:A13)

3、同时按住CTRL+shift,在按下enter,输入正确公式左右两边有{}符号

4、查看效果(100,正确的结果)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-08

如图,

提取最后一行的最后一个数据:=LOOKUP(1,0/(OFFSET($1:$1,MAX(IF($A$1:$G$6="","",ROW($A$1:$G$6)))-1,)<>""),OFFSET($1:$1,MAX(IF($A$1:$G$6="","",ROW($A$1:$G$6)))-1,)),按CTRL+SHIFT+ENTER结束。


提取最后一列的最后一个数据:=LOOKUP(1,0/(OFFSET($A:$A,,MAX(IF($A$1:$G$6="","",COLUMN($A$1:$G$6)))-1,)<>""),OFFSET($A:$A,,MAX(IF($A$1:$G$6="","",COLUMN($A$1:$G$6)))-1,)),按CTRL+SHIFT+ENTER结束。

追问

提取最后一行的最后一个数据没有问题,很好用。

可是“提取最后一列的最后一个数据”就不行了,出现了计算错误提示。如图:

我用的2003,你是用2007以上版本做的,是因为我的版本低的原因吗?

追答

是的,2003不支持整行整列引用,
=LOOKUP(1,0/(OFFSET($A$1:$AZ$1,MAX(IF($A$1:$G$6="","",ROW($A$1:$G$6)))-1,)""),OFFSET($A$1:$AZ$1,MAX(IF($A$1:$G$6="","",ROW($A$1:$G$6)))-1,))

=LOOKUP(1,0/(OFFSET($A$1:$A$20000,,MAX(IF($A$1:$G$6="","",COLUMN($A$1:$G$6)))-1,)""),OFFSET($A$1:$A$20000,,MAX(IF($A$1:$G$6="","",COLUMN($A$1:$G$6)))-1,))

你将公式中的整行整列的引用改一下,像我改过的公式一样,反正就是范围比你的数据范围大就可以了。

本回答被提问者采纳
第2个回答  2015-04-01
=LOOKUP(1,0/(D1:D900<>""),D1:D900)
同时按CTRL SHIFT 回车键,再右拉公式追问

我需要直接在H1提取,这个不行啊。

追答

你就把公式复制到H1
同时按CTRL SHIFT 回车键

相似回答