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