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

在B1单元格中输入数组公式:
=OFFSET($A$1,SMALL(IF($A$1:$A$10<>0,ROW($1:$10),""),ROW(A1))-1,0)
公式输入完毕后,按Ctrl Shift Enter结束,然后向下填充即可。
excel &""是什么意思
excel &""是什么意思 excel &是什么意思呢?特别是在筛选公式中很常见。 我们先来看看一个基本用法,A1单元格为空单元格,不输入任何内容,B1单元格输入=A1,回车,返回结果:0。而输入=A1&
公式说明:上例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批量修改数据
EXCEL批量修改数据 比如我们做好一个EXCEL表格,填好了数据,现在想修改其中的一列(行),例如:想在A列原来的数据的基础上加8,有没有这样的公式?是不是非得手工的一个一个数据地住上加?对于这个问题我们自然想到了利用公式,当你利用工式输入A1=A1 8时,你会得到EXCEL的一个警告:“MICROSOFT EXCEL不能计算该公式……”只有我们自己想办法了,这里介绍一种简单的方法: 第一步: 在想要修改的列(假设为A列)的旁边,插入一个临时的新列(为B列),并在B列的第一个单元格(B1)里输入8。 第


