excel用数组公式获取一列中非空(非零)值

网友投稿 980 2022-12-01

excel用数组公式获取一列中非空(非零)值

假如在A1:A10区域中有一列数据,其中包含数值“0”和空的单元格,现在需要将其中非零、非空的数据提取出来,并且按原数据的顺序排列,如图所示,可以使用下面的数组公式。

在B1单元格中输入数组公式:

excel用数组公式获取一列中非空(非零)值

=OFFSET($A,SMALL(IF($A:$A<>0,ROW(:),""),ROW(A1))-1,0)

公式输入完毕后,按Ctrl+Shift+Enter结束,然后向下填充即可。

公式说明:上例A1:A10区域中,第1、2、4、10行包含非零、非空数据,先用“IF($A$1:$A$10<>0,ROW($1:$10),"")”来产生一个数列“{1;2;"";4;"";"";"";"";"";10}”,然后用SMALL函数来获取非空数值,最后用OFFSET函数返回单元格数据。OFFSET函数也可以用INDEX函数代替,如B1单元格中的数组公式可以写成:

=INDEX($A$1:$A$10,SMALL(IF($A$1:$A$10<>0,ROW($1:$10),""),ROW(A1)))

如果要仅仅获取A列中非空数据,即返回的数据中包括数值“0”,将上述公式中的“$A$1:$A$10<>0”改为“$A$1:$A$10<>""”即可:

=OFFSET($A$1,SMALL(IF($A$1:$A$10<>"",ROW($1:$10),""),ROW(A1))-1,0)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:excel如何快速输入筛选后的求和公式
下一篇:word文档里的长方形方框怎么弄
相关文章