如何堆叠列中的所有非空白单元格?

inf*_*ura 3 worksheet-function microsoft-excel microsoft-excel-2016

我正在寻找一个公式,它将获取一列中的所有非空白值并将它们堆叠在另一列中。

请参阅下面的示例。本质上,我试图使用公式从 A 列转到 B 列:

A
1 苹果 苹果
2 橙子
3 橙子 柠檬
4 柠檬
5 香蕉
6
7
8
9 香蕉

我尝试过以下公式,但它似乎只能复制A列。

=IFERROR(INDEX($A$1:$A$9,SMALL(IF($A$1:$A$9<>"",ROW($A$1:$A$9)-ROW($A$1)+1),ROWS($A$1:$A1))),"")

关于如何解决这个问题有什么想法吗?

更新:事实证明上面的公式工作得很好。A 列是使用 IF 公式自动生成的,其中任何错误条件都会返回“”。应该是“”。

小智 5

现在有一个更优雅的解决方案。=FILTER($A$1:$A$9, $A$1:$A$9 <> "")