Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在单元格数组中查找所有非空白单元格?_Excel_Excel Formula - Fatal编程技术网

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

Excel 如何在单元格数组中查找所有非空白单元格?,excel,excel-formula,Excel,Excel Formula,我有一些数据在$A$1:$D$50中。如何使用公式(常规或数组)将所有非空白单元格放入单个列(例如E)。我发现的所有其他示例都是关于在单个列或行中查找空白单元格的 谢谢首先输入以下自定义项: 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

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


谢谢

首先输入以下自定义项:

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
并通过F200向下复制

然后将标准公式应用于列F

编辑#2

参考资料:


所谓标准公式,我的意思是类似于

谢谢,但我应该避免在工作簿中使用VBA。还有其他解决方案吗?当然……暴力……将单元格块映射到单个“helper”列,然后在“helper”列上使用标准公式。我不知道如何将它们映射到单个helper列。(这就是我要找的。)你能解释一下吗?再次感谢加里的学生!如果A1、B1、C1和D1都是非空的,您将如何将它们放在E1中?如果不知道你想做什么,就不清楚解决方案是什么。
=IF(OFFSET($A$1,MOD(ROW()-1,50),INT((ROW()-1)/50))="","",OFFSET($A$1,MOD(ROW()-1,50),INT((ROW()-1)/50)))