错误“结果未自动扩展,请插入更多行”:如何自动添加行?

Evg*_*niy 5 google-sheets google-sheets-formula

我使用一个ImportRange公式将多个选项卡中的数据获取到单个选项卡中。公式看起来像

=QUERY({IMPORTRANGE("123","B1!A2:D");IMPORTRANGE("123","B2!A2:D")},"where Col1 is not null", 0)
Run Code Online (Sandbox Code Playgroud)

如果需要的话,有没有办法自动将行添加到表中?使用公式或设置 - 不是通过应用程序脚本。

Max*_*rov 4

我有同样的问题

在我的原始公式中添加了另一个“arrayformula”:

=INDEX(QUERY(...))

做了一些测试,发现所有类似数组的公式都会自动添加新行,包括query. 这意味着向原始公式添加新的数组函数将迫使引擎再次重新计算并添加新行。一般来说,这种情况看起来像是一个错误/非预期行为。原因可能是公式所拥有的资源有限,如果计算量很大,它就会停止工作。

极限测试:Sequence

这个公式将起作用:

=SEQUENCE(50500)

这会产生一个错误:

=SEQUENCE(50501)

手动添加新行后,该公式将再次起作用。

添加新公式(例如)INDEX(SEQUENCE(50501))并不能修复错误。

极限测试:类数组函数

我还测试了这些功能:

QUERY

{Array}

SEQUENCE

Offset

Sort

Index

ArrayFormula

他们都在第 50501 行之后停止工作,包括。

可能的脚本解决方案

可以从原始公式中获取行数。

=ROWS(SEQUENCE(50501))

接下来,创建一个触发器,每 N 分钟执行一次,以将新行添加到工作表中。

来源

所有测试都是按日期在我的环境中进行的。您自己的测试可能会有所不同。