首页 > 解决方案 > 在 Google 表格的过滤器视图中排序时,ArrayFormula 列消失

问题描述

我想ArrayFormula用来填充电子表格中的一列,但是当我Sort A->Z在过滤器视图中时,该ArrayFormula列消失了。在某些情况下,该列包含#REF!有关范围的错误,在某些情况下,该列在Sort. 以下是我正在尝试做的简化版本(在我的实际应用程序中,我正在做Vlookup另一张纸):

https://docs.google.com/spreadsheets/d/1XbqqedOjuSKuE-ZLIHNw59-r01EsNMpx7YVqOoxSOR4/edit?usp=sharing 数组公式使用 过滤器视图不好

column 3头使用ArrayFormula复制自column 1。如果您转到Filter 1过滤器视图,您会注意到column 3除了错误之外它是空白的。这发生在我尝试Sort Z->A在第 2 列之后。在我更复杂的用例中,涉及 a Vlookup,在 a 之后Sort列完全消失(不留#REF!错误)。在对这两种情况进行排序之前,一切都很好。

排序后如何使 ArrayFormula 值保留在过滤器视图中?

谢谢你的帮助!

标签: sortingfiltergoogle-sheetsarray-formulas

解决方案


我猜是因为你的引用是正常的(相对的,不是锚定的/绝对的),排序后的范围 A2:A10 变成了一些荒谬的东西,比如 A7:A4,这取决于实际的排序值。

另外,如果您将鼠标悬停在#REF 错误上,它会告诉您什么?

无论如何,请尝试在公式中使用绝对引用:

=arrayformula({"Column 3"; A$2:A$10})

编辑 迷人。这是我第一次看到这种类型的错误。从表面上看,这似乎是谷歌电子表格的一个限制——你不能在排序的过滤器视图中使用跨越多行的 ARRAYFORMULAS,因为就像我猜的那样,它弄乱了 ARRAYFORMULA 的范围(如事实所示公式现在在 C4 而不是 C1) 中。

但这也为您提供了解决方案:不要在过滤器视图中包含带有 arrayformula 的单元格。不要将过滤视图的目标范围设为 A1:C20,而是设为 A1:B20。然后C1中的arrayformula将不受过滤器的影响,并且确实会继续工作。 在此处输入图像描述


推荐阅读