隐藏列中的空单元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议:
- 从Pearson使用这个数组公式 – 截图如下
- 手动(非VBA)的SpecialCells方法更容易
SpecialCells方法
- 将空白栏复制到右侧
- select新的列,按F5,
Special
和检查空白 - 右键单击,select
Delete
,然后checlk向上shift cells up
这三个步骤的过程(select空白)的前两步显示在Debra Dalgleish的网站上
数组公式方法