0

我正在尝试通过公式而不是 VBA/宏来执行以下操作(我不想要复制/粘贴特殊解决方案,因为我需要更多控制)。是否有可能:

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

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

我希望 b 列输出为(但没有空白行)。这意味着公式需要以某种方式循环并具有一些循环跳过逻辑:
1
2
4
6

通常我会设置单元格 B1 = A1 来复制它,但由于我想跳过 A 列中空白的行,我不知道除了正确的宏之外还能做什么。我可以使用数组或任何其他创造性的解决方案吗?最终,我也会将它用于具有特定值的项目(不仅仅是空白)。

谢谢!

4

3 回答 3

3

通常在单元格 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并复制下来

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

于 2014-01-03T00:27:14.367 回答
0

对于空白,只需将 ColumnA 复制到 ColumnB,选择 ColumnB,查找并选择,转到特殊...,空白,右键单击选定的单元格之一,删除...并向上移动单元格。

于 2014-01-03T00:26:45.770 回答
0

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

于 2015-12-22T05:49:05.087 回答