在Google表格的过滤器视图中排序时,ArrayFormula列消失

时间:2018-08-11 02:53:59

标签: sorting filter google-sheets array-formulas

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

https://docs.google.com/spreadsheets/d/1XbqqedOjuSKuE-ZLIHNw59-r01EsNMpx7YVqOoxSOR4/edit?usp=sharing arrayformula use bad filter view

column 3标头使用ArrayFormulacolumn 1复制。如果转到Filter 1过滤器视图,则会注意到column 3为空白,但有错误。在我尝试在第2列上使用Sort Z->A之后,会发生这种情况。在涉及Vlookup的更复杂的用例中,在Sort之后,该列完全消失了(没有留下#REF!错误)。在两种情况下进行排序之前,一切都很好。

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

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

我猜测是因为您的引用是正常的(相对的,而不是锚定的/绝对的),所以根据实际排序的值,向下排序后的范围A2:A10会变成荒谬的内容,例如A7:A4。

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

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

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

编辑 迷人。这是我第一次看到此类错误。从表面上看,这似乎是Google Spreadsheets的局限性-您不能使用ARRAYFORMULAS在已排序的过滤器视图内跨越多行,因为,正如我所猜测的那样,它使ARRAYFORMULA的范围混乱了(事实表明,公式现在位于C4中,而不是C1中)。

但是,这也为您提供了解决方案:不要在过滤器视图中包含带有arrayformula的单元格。不必使过滤器视图的目标范围为A1:C20,而是使其为A1:B20。然后,C1中的arrayformula将不受过滤器的影响,并且确实会继续工作。 enter image description here

答案 1 :(得分:1)

我为我的用例找到了一个解决方案,就您而言,可能是:

TemplateDoesNotExist at /plans/search/
testplans/search.html
Request Method: GET
Request URL:    https://xxxxxx:8443/plans/search/
Django Version: 2.1.7
Exception Type: TemplateDoesNotExist
Exception Value:    
testplans/search.html
Exception Location: /venv/lib64/python3.6/site-packages/django/template/loader.py in get_template, line 19
Python Executable:  /venv/bin/python3
Python Version: 3.6.3
Python Path:    
['/Kiwi',
 '/venv/lib64/python3.6/site-packages',
 '/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages',
 '/venv/lib64/python36.zip',
 '/venv/lib64/python3.6',
 '/venv/lib64/python3.6/lib-dynload',
 '/opt/rh/rh-python36/root/usr/lib64/python3.6',
 '/opt/rh/rh-python36/root/usr/lib/python3.6',
 '/venv/lib/python3.6/site-packages',
 '/venv/lib64/python3.6/site-packages/tcms/core/lib']

但是您需要考虑公式中的整个列。 Example

答案 2 :(得分:0)

您是否尝试过A2:A? 如果您未放置结尾行,则表示该列的结尾。 它对我有用。

欢呼