如何查找单元格数组中的所有非空白单元格?

我有$ A $ 1:$ D $ 50的一些数据。 我怎样才能把所有非空白单元格放入一个单一的列(如E )使用公式(常规或数组)。 我发现的所有其他例子都是关于在一列或一行中find空白单元格的。

谢谢

首先input下面的UDF:

Public Function NonBlanks(rng As Range) As Variant Dim c As Collection, r As Range, CC As Long, i As Long Set c = New Collection For Each r In rng If r.Value <> "" Then c.Add (r.Value) End If Next r CC = c.Count ReDim Arout(1 To CC, 1 To 1) As Variant For i = 1 To CC Arout(i, 1) = c(i) Next i NonBlanks = Arout End Function 

然后selectE1至E200并input下列数组公式

=非空白(A1:D50)

编辑#1

没有VBA,select一个“帮手”列,说F列。 在F1中input:

 =IF(OFFSET($A$1,MOD(ROW()-1,50),INT((ROW()-1)/50))="","",OFFSET($A$1,MOD(ROW()-1,50),INT((ROW()-1)/50))) 

并通过F200复制下来

然后将您的标准公式应用于F

编辑#2

参考:

按照标准公式,我的意思是像皮尔逊的方法