隐藏列中的空单元excel(NON EXPENSIVE – 计算时间)

我有一个专栏:

1 - name 3 - name 6 - name 

我想另一列只显示非空单元格,如下所示:

 1 - name 3 - name 6 - name 

我在OSX上运行这个,所以我不能使用VBA。 我也不能使用数据filter,因为这个列是实际数据的权利,如果我过滤它,它也会隐藏相关的数据。

最终,我试图让列(任何列)只显示非空的单元格值,每行一个,具有自动更新function。

在下面的build议,我尝试了以下: =INDEX(BRsat,SMALL((IF(LEN(BRsat),ROW(INDIRECT("1:"&ROWS(BRsat))))),ROW(L1)),1)‌它将计算时间降到了极限,一旦在7个不同的标签上实现了一次,落后于计算机的点击超过了15秒。

有什么build议么?

Ctrl+Shift+Enter作为数组公式Ctrl+Shift+Enter

快速粘贴版本( 注意 :您需要将这些引用更改为表格中的引用 – 我在我的A1:A7中使用了数据[请参阅图片]):

 =IFERROR(INDEX($A$1:$A$7, SMALL(--(IF($A$1:$A$7<>"",ROW($A$1:$A$7),100000)),ROW())), "") 

更长的forms(以更好地看到发生了什么):

 =IFERROR( INDEX( $A$1:$A$7, SMALL( --(IF($A$1:$A$7<>"",ROW($A$1:$A$7),100000)),ROW())), "") 

基本上,我们在列上使用索引公式。 row参数使用SMALL()公式来查找列中包含空值的所有实例,然后指定一个任意高的数字(希望这些数字不会匹配)(这可能是错误的做法:))。 SMALL() (你想要匹配的数组中的第k个元素SMALL()k参数就是行号,这意味着当你沿着列表走下去的时候,你不会匹配当前列表中的项目。

在这里输入图像描述

几点build议:

  1. 从Pearson使用这个数组公式 – 截图如下
  2. 手动(非VBA)的SpecialCells方法更容易

SpecialCells方法

  • 将空白栏复制到右侧
  • select新的列,按F5, Special和检查空白
  • 右键单击,selectDelete ,然后checlk向上shift cells up

这三个步骤的过程(select空白)的前两步显示在Debra Dalgleish的网站上

数组公式方法

在这里输入图像说明