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

假如在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)

(0)

相关推荐

  • Excel无需数组公式也能查询多条件.指定项的结果

    Excel无需数组公式,也能查询多条件、指定项的结果

  • Excel怎么通过公式获取单元格数据中第五大值

    Excel是现在十分常用的一款办公软件,有些新用户不知道怎么通过公式获取单元格数据中第五大值,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图所示,打开电脑中的Excel文 ...

  • Excel怎么通过公式获取单元格数据中最小值

    Excel是现在十分常用的一款办公软件,有些新用户不知道怎么通过公式获取单元格数据中最小值,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图所示,打开电脑中的Excel文档 ...

  • excel数组公式如何使用

    excel的数组公式可以快速的计算数据表的交叉数据,那么该如何的使用excel的数组公式呢?下面小编给大家分享一下. 操作方法 01 首先我们打开一个excel,准备一个数据表,如下图所示,大家可以根 ...

  • Excel中提取两列中取不重复(唯一)值之数组公式法图解

    Excel提取两列中不重复(唯一)值之数组公式法 将用到INDEX、SMALL、IF、ROW、MATCH这几个函数 工具/原料 excel 电脑 方法/步骤 我将通过数组公式在d1单元格输入数组公式然 ...

  • excel如何获取某列中的最后一个元素?

    excel如何获取某列中的最后一个数?方法很简单,快来学习一下吧. 步骤 1.首先打开excel表格,做一个表格. 2.表格可以包括文字.拼音.数字.空格等. 3.表格中最后一个数字是200,已经用黄 ...

  • EXCEL数组公式怎么使用? EXCEL从入门到精通的技巧大全

    EXCEL 数组公式是相对于普通公式而言的,普通公式的计算结果是单一值,数组公式计算结果却可以是多个值,因为数组公式是对多个元素组成的组成的矩阵的计算,而这个矩阵可以是一维的,二维的,等等!所以计算的 ...

  • Excel中利用数组公式去除重复数值

    在一些时候,我们可能需要把一列数据中的不重复数据筛选出来,当然通过Excel自带的筛选功能可以实现,但不能实时同步提取数值,这时候就需要用到公式.在这里简单地分步骤介绍下如何利用数组公式提取不重复的数 ...

  • 教你如何快速学习Excel数组公式及运用

    一、课程回忆什么是数组公式呢?顾名思义就是公式中包含数组的了,详细含义请参看前文。但这里重点提醒的一点就是,如果要使用数组公式,在编辑栏输入完公式以后一定要按下“Ctrl+Shift+Enter”组合 ...