excel中如何找出某一列中第一个非零数字所对应的行数,并引用该行的第一个数值?

比如,有A、B两列,其中A1-A10的数值为a-j,B1-B10的数值为0001234567,要求在C1中用公式在B列中找出第一个非零数值(即1),然后找出这个1所对应的行(应为第4行),并将A4的数值(即d)显示在C1中。
扩展1:在上述问题的基础上,若上述a-j所在列为AX,而0001234567的所在列为AZ,是否可以在找出1的所在行(第4行),并将AX4的数值显示在BA1单元格中?如能实现则最佳。
扩展2:在上述基础上,能否实现第二个、第三个...非零数字的同样操作?

=index($A$1:$A$10,small(if($B$1:$B$10<>0,row($1:$10),11),row(A1)))
数组公式,按CTRL+shift+回车结束。
PS.

$A$1:$A$10 为要引用的数据
$B$1:$B$10为查找非0数区域
row()里的行数必须与前面两个区域的行数一致
向下拉可得到第二个、第三个...非零数字的对应单元格。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-19
C1中输入
=INDEX(A1:A10,MATCH(,0/(B1:B10>0),))
同时按下CTRL+SHIFT+回车,输入数组公式,就可以了。
BA1中输入

=INDEX(AX1:AX10,MATCH(,0/(AZ1:AZ10>0),))
也是三键齐按。追问

返回的数值是【TRUE】?

相似回答