excel 如何引用某一列倒数第二个数

原来用下面这个公式,但是当最后一个数为0以后,就不管用了。。。求大神指导!!!
=INDEX(F:F,MATCH(LOOKUP(9E+307,F:F,F:F),F:F,)-1)

  其实如果F列的数据中没有空格,可以用一个相当简单的公式:
  =INDEX(F:F,COUNTA(F:F)-1)
  你原来的公式本身就是有问题的,当F列最后一个数据在前面有相同数据时,就是会以前面的数据再取上一单元格。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-28
=INDEX(F:F,MATCH(9E+307,F:F)-1)

 你原公式LOOKUP找到了最后一个值,假设这个值为100,F3单元格也100,那么MATCH就只能找到F3。如果没有重复,公式效果一样,但没必要这么复杂。

 

此外,还有一个可能,数据不连续,存在空单元格。比如找到F100是最后一个数值,但F99是空单元格。

追问

是的,F列中间存在一段空值

追答

MATCH是定位最后一个数值,然后减去1是上一行的行号,才不管上一行是否空单元格。

因此,你要的是倒数第2个数值的话:

=INDEX(F:F,LARGE(IF(F$1:F$100<>"",ROW($1:$100)),2))

本回答被提问者采纳
第2个回答  2015-08-28
=index(F:F,lookup(1,0/(F$1:F$1000<>0),row(F$1:F$1000))

==================================

=index(F:F,lookup(1,0/(F$1:F$1000<>""),row(F$1:F$1000))-1)