列出单元格范围内所有非空单元格的公式是什么

列出单元格范围内所有非空单元格的公式是什么

我正在尝试收集单元格范围内的所有非空单元格,然后将它们输出到单个列中,我可以拖动填充柄以自动获取下一个有效值。我正在运行 Office 2016,因此没有 FILTER 函数。需要从上到下,然后从左到右收集值,例如:

A1
A2
A3
B1
B2
B3... and so on

请参见下面的我所拥有的内容和我需要输出的内容的基本演示。

演示数据

答案1

我想我有一个需要一个辅助列的解决方案。

请参阅下面的屏幕截图。

在此处输入图片描述

请注意,Cols H 和 I 不是必需的。保留它们只是为了让您知道需要为 INDEX 生成正确的 Row、Col 引用,以便从 6x4 网格中获取数据。

有一个辅助列 K。

K2 中的公式是

=IF(ISBLANK(INDEX($B$2:$E$7,MOD(ROW(A1)-1,6)+1,INT((ROW(1:1)-1)/6)+1)),"",INDEX($B$2:$E$7,MOD(ROW(A1)-1,6)+1,INT((ROW(1:1)-1)/6)+1))

将其向下拖动。这将在 B2:E7 上生成具有正确 Row,Col 引用的 INDEX 函数,并将数据展平为单列。

现在下一步是生成一个删除空白的列表。

M2 中的公式是

=IFERROR(INDEX($K$2:$K$25, SMALL(IF(NOT(($K$2:$K$25)=""), ROW($K$2:$K$25)-ROW($A$1),""), ROW(A1))),"")

将其向下拖动至目标行。

在我的 Excel 2021 中,不需要创建数组公式,但在 Excel 2016 中,上述示例中的两个公式可能需要作为数组公式才能正常工作。

您需要在公式栏内按CTRL+ SHIFT+ENTER来创建数组公式。

我还没有进行过广泛的测试。试试看吧。请注意-ROW($A$1)公式中的第 2 行。

相关内容