如何在单元格数组中找到所有非空白单元格?

时间:2013-12-09 13:56:14

标签: excel excel-formula

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

由于

1 个答案:

答案 0 :(得分:2)

首先输入以下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

然后选择E1至E200并输入以下数组公式

<强> =非空白(A1:D50)

修改#1

如果没有VBA,请选择“帮助”列,例如列 F 。在 F1 中输入:

=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

<强>参考:

按标准公式,我的意思是Pearson's method