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

时间:2022-10-25 23:17:10 

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


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

=OFFSET($A$1,SMALL(IF($A$1:$A$10<>0,ROW($1:$10),""),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)

标签:中非,公式,单元格,数据,Excel函数
0
投稿

猜你喜欢

  • Win10KB4023057更新失败怎么办?KB4023057更新失败解决办法

    2023-08-14 03:13:33
  • 怎么在excel中使用照相机功能

    2022-11-27 21:09:10
  • win7系统桌面主题怎么更换?

    2022-12-17 09:46:37
  • Win8笔记本屏幕花屏原因汇总详解

    2023-09-23 14:54:55
  • IF函数计算真题

    2023-06-02 13:03:47
  • win7系统虚拟光驱怎么删除 win7系统删除电脑虚拟光驱的三种方法图文教程

    2023-11-09 23:35:26
  • WPS word如何自动移动单张图片和多张图片

    2022-07-17 17:30:40
  • 教你正确处理进水后的U盘

    2023-02-06 18:05:22
  • Win10系统的窗口遮挡任务栏怎么解决?

    2023-11-24 02:04:28
  • Win11屏幕缩放比例怎么设置? Win11设置缩放比例的技巧

    2023-10-05 03:13:24
  • excel表格公式下拉结果一样的解决方法

    2022-05-30 15:56:18
  • 万彩录屏大师制作置图片幻灯片的具体操作方法

    2022-07-24 06:33:59
  • Win7系统如何取消电脑开机密码?

    2022-11-05 06:04:25
  • Excel HYPGEOM.DIST 函数 使用实例教程

    2023-05-07 19:59:30
  • 如何解决Win7宽带连接错误651的问题?

    2022-07-12 20:30:33
  • 360卫士升级win10失败 显示IBM电源管理驱动老版本不通过该怎么办?

    2022-11-22 04:07:02
  • 玩cf用什么鼠标好_玩cf好用的鼠标推荐2019

    2022-06-27 05:22:11
  • WPS excel名称管理器的使用方法

    2022-07-08 11:53:20
  • Win10如何关闭445端口 win10关闭445端口的详细教程(勒索病毒预防)

    2023-10-09 13:52:23
  • WPS文字打印设置

    2023-10-13 14:39:51
  • asp之家 电脑教程 m.aspxhome.com