如何查找一列中最后一个非零值

我想查找没一列中最后一个非零值,如何用公式查找?谢谢!

运用以下函数查找一列中最后一个非零值:
最后一个非零值的数组公式是: =INDEX(A:A,MAX(IF(A2:A65536=0,,ROW(A2:A65536))))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-14
比如在E1输入数组公式可以返回A列最后一个非零值的行号:
=MAX(IF(A1:A65535=0,,ROW(A1:A65535)))

按组合键CTRL+SHIFT+ENTER完成数组公式的输入。追问

那我用A列第一个数,减去这一列最后一个非零值,如何计算呢?

查找一列最后一个非零值还有别的办法吗?比如说用函数什么的 便于函数嵌套的

追答

数组公式跟一般公式一样可以嵌套,但要按CTRL+SHIFT+ENTER完成输入。

返回A列最后一个非零值的数组公式是:
=INDEX(A:A,MAX(IF(A2:A65536=0,,ROW(A2:A65536))))

返回A列第一个非零值的数组公式是:

=INDEX(A:A,MIN(IF(A2:A65536=0,"",ROW(A2:A65536))))

求这两个数的差是:
=INDEX(A:A,MIN(IF(A2:A65536=0,"",ROW(A2:A65536))))-INDEX(A:A,MAX(IF(A2:A65536=0,,ROW(A2:A65536))))

上述都是数组公式,最后都要按CTRL+SHIFT+ENTER完成输入。

追问

对这个确实可以实现,非常感谢,那我想实现一列中,从上数第三个非零值和最后一个非零值的差值呢? 如何实现,直接改公式中的A2就行吗? 还有别的方法没?谢谢~

追答

求最大值用MAX,求最小值用MIN,求第几个最大值用LARGE,求第几个最小值用SMALL。

追问

嗯 这样能得出第几个最大值和最小值,如何实现第几个非零值呀?

追答

第一个非零值
=INDEX(A:A,SMALL(IF(A2:A65536=0,"",ROW(A2:A65536)),1))

第二个非零值
=INDEX(A:A,SMALL(IF(A2:A65536=0,"",ROW(A2:A65536)),2))

如果要求A列中第三大的数值(不是第三个非零值):
=SMALL(IF(A2:A65536=0,"",A2:A65536),3)

以下都是数组公式的输入方法。

本回答被提问者采纳