excel中如何在某一列数据中,找到出现零之后的第一个非零数

比如我的某一列是1,2,3,0,0,0,5,我想在另外一个单元格直接找出这个5所在的位置显示为5
之前有个公式是
=index($A$1:$A$10,small(if($B$1:$B$10<>0,row($1:$10),1),row(A1)))
数组公式,按CTRL+shift+回车结束。
但是这样找出来的是第一个非零数,也就是1
怎样跳过一开始的1,2,3之类的,找到5呢?

数组公式:

=MATCH(1,0/($B$1:$B$10<>0))

看图说话:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
公式可为
=INDEX(A1:A10,MATCH(1=1,IF(ROW(1:10)>MATCH(0,A1:A10,0),A1:A10,)>0,))

=INDEX(A1:A10,MATCH(1=1,IF(ROW(1:10)>MATCH(0,B1:B10,0),B1:B10,)>0,))
三键生成数组公式,主要是不知道你数字放在哪一列中,看你公式中有两列的。
IF(ROW(1:10)>MATCH(0,A1:A10,0)意思是如果行号大于0出现的位置,才返回,否则返回0,这样可以去除前面1,2,3的干扰。追问

哦哦,我数字就在一列,要筛选的和要显示的都在同一列
我去试试看

本回答被提问者采纳
第2个回答  2016-07-04
=MATCH(5,A1:A7,0)这个可以直接定义到5在第几行。
相似回答