Excel – 在公式中跳过行的逻辑

我正在尝试通过一个公式,而不是VBA /macros(我不想复制/粘贴特殊的解决scheme,因为我需要更多的控制)下面的。 是否有可能:

我有一列中有一些空行和一些行的值。 让我们称之为列A.在列b中,我只想复制单元格,如果列A有一个值。 如果没有,我希望它跳到列A中的下一个单元格,但留在同一个单元格的列b。

A栏
1
2
[空白]
4
[空白]
6

我想列b输出(但没有空白行)。 这意味着公式需要循环,并有一些循环跳过逻辑:
1
2
4
6

通常我只是设置单元格B1 = A1复制它,但因为我想跳过列A中空白的行,我不知道该怎么做,除了macros。 我可以使用arrays还是其他创意解决scheme? 最后,我也会用这个具有特定值的项目(不只是空白)。

谢谢!

一般在C2单元格复制下来….

=IFERROR(INDEX(Range,SMALL(IF(Range=criteria,ROW(Range)-MIN(ROW(Range))+1),ROWS(C$2:C2))),"")

CTRL + SHIFT + ENTER确认

所以在这里如果你的数据是在A1:A10,你想从B1下来的结果

=IFERROR(INDEX(A$1:A$10,SMALL(IF(A$1:A$10<>"",ROW(A$1:A$10)-ROW(A$1)+1),ROWS(B$1:B1))),"")

CTRL + SHIFT + ENTER确认并复制下来

当你用完数据时,你会得到空白

对于BLANKS,只需将ColumnA复制到ColumnB,selectColumnB,Find&Select,Go To Special …,Blanks,右键单击其中一个选中的单元格,Delete …将Shift单元格向上。

如果您不关心数字的sorting(例如将使用直方图进行分箱或分析的数组),则只需复制该行并将值粘贴到另一行即可。 现在只需sorting一行值。 它将所有的空单元格放在select的底部。