EXCEL函数问题:如何返回某一列的最后一个值?

假设数据在B列,从B3开始,有数值,有文本,而且数据不断增加,如何设置函数公式动态返回B列最后一个单元格的值,如果最后一个单元格是文本则返回0,如果是数值则返回数值?
最后一个单元格之前没空单元格。

若B1和B2也是空着的,公式可为
=OFFSET(B2,COUNTA(B:B),)
若B1和B2有数据,可改为
=OFFSET(B2,COUNTA(B:B)-2,)

=OFFSET(B2,COUNTA(B3:B999),)
之类的,只要数据一定在B3到B999之内就行,超过的话把范围改大点。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-12
公式:
=N(INDEX(B:B,SUMPRODUCT(MAX((B3:B65536<>"")*ROW(B3:B65536)))))

或:
数组公式:
=N(INDEX(B:B,MAX((B3:B65536<>"")*ROW(B3:B65536))))
注意 数组公式必须同时按vctrl+shift+enter输入才有效

------若最后一个单元格之前没空单元格也可以用----------------
=N(INDEX(B:B,COUNTA(B:B)+COUNTBLANK(B1:B2)))
或:
=N(INDEX(B:B,COUNTA(B:B)+COUNTIF(B1:B2,"")))
第2个回答  2012-08-12
在你想要显示结果的单元格输入公式:
=N(INDIRECT("B"&(COUNTA(B:B))))本回答被提问者采纳
第3个回答  2012-08-12
如果B1、B2是空单元格
=IF(ISTEXT(INDIRECT("b"&COUNTA(B:B)+2)),0,INDIRECT("b"&COUNTA(B:B)+2))

如果B1、B2有内容(比如是表头)
=IF(ISTEXT(INDIRECT("b"&COUNTA(B:B))),0,INDIRECT("b"&COUNTA(B:B)))本回答被网友采纳
第4个回答  2012-08-12
C3中输入:
=IF(AND(TYPE(B3)=1,B3<>"",B4=""),B3,IF(AND(TYPE(B3)=2,B3<>"",B4=""),0,""))
下拉填充
相似回答