【问题标题】:Insert filtered values into a table without spill error将过滤后的值插入表中而不会出现溢出错误
【发布时间】:2021-04-16 02:41:04
【问题描述】:

下面的 A 列包含数字 1-9,其中一些与空单元格合并。

我希望过滤掉空白,通常会使用公式=FILTER(A3:A15,A3:A15<>"")

这通常工作得很好,但是因为这会在输入表格时产生一个动态数组,这会导致溢出错误。

任何人都可以想出干净的方法来解决这个问题吗?即不隐藏列。通常我会使用电源查询,但这只是我不想更改的更大电子表格的示例问题。

使用 Power 查询会在输出所需的实际表之前将其转换为表。此外,我在此工作簿中确实有多个表格,除非我可以专门关闭特定表格的“自动填充”功能,否则这也是不可行的。

如果您不认为它可能同样有用。谢谢

【问题讨论】:

  • 动态数组公式将导致结构化引用表中的#SPILL! 错误。您应该将结果放在普通单元格中,或者使用数据透视表在动态列中显示非空白结果。
  • 嗨,特里,谢谢。是的,我的解决方案几乎是将普通单元格中的输出作为过滤器,然后在相邻的单元格中设置一个表格,然后自动将其拉下。

标签: excel filter excel-formula office365 excel-tables


【解决方案1】:

您必须使用只输出单个结果而不是数组的公式。

例如

C2: =IFERROR(INDEX(FILTER($A$1:$A$13,$A$1:$A$13<>""),ROWS($1:1)),"")

然后填写。

不幸的是,我不知道有什么方法可以使用公式来调整表格的大小,因此它正好适合包含 A 列中的条目。

【讨论】:

  • 嘿,是的,我认为可能是这种情况。我能做的最好的就是使用上面的公式,然后有一个与之相邻的表格,它引用了过滤输出的第一个单元格并自动下拉。效果很好(尽管我确实隐藏了过滤后的列)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多