在excel里,如何返回某行最后一个非空数据所在单元格的列号? 然后根据这个列号,返回该列第一行的数据

rt

如果是第二行不为空,公式如下,其他行依此类推。

 

=OFFSET(A1,,MAX(IF(2:2<>"",COLUMN(2:2)))-1)

 

注意公式要按CTRL+SHIFT+回车键结束

 

追问

我这不对啊?

追答

输入完公式后要按CTRL+SHIFT+回车键结束,不能直接按回车,要不你将公式改成:
=LOOKUP(1,0/(2:2""),$1:$1)
这样直接按回车就行了。

另外如果第一行是日期,你要将公式所在的单元格格式改成日期格式

追问

=LOOKUP(1,0/(2:2<>""),$1:$1) 用了你说的这个,看着可以,不过如果某一行全部为空,结果会有问题,看我贴的新图。

追答

如是全部为空显示为空格行不?如果可以,公式改为:
=IF(COUNTA(H2:N2),LOOKUP(1,0/(H2:N2""),$H1:$N1),"")

追问

结果不对,我也试了=IF(COUNTA(9:9),LOOKUP(1,0/(9:9""),$1:$1),"")

追答

刚才那个有点错误,我更正了,修改后公式如下:
=IF(COUNTA(H2:N2),LOOKUP(1,0/(H2:N2""),H$1:N$1),"")

追问

这个H是其实列,N是终止列么?

追答

是的,你理解得没错

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-28

=LOOKUP(1,0/(B2:H2<>""),$B$1:$H$1)