是否有脚本为单元内公式绕过50000个字符?

时间:2019-02-16 21:27:41

标签: sql google-apps-script google-sheets array-formulas google-sheets-formula

我有这个(很长)的公式需要在Google表格中运行,并且遇到了极限错误:

  

出问题了

     

您的输入在一个单元格中最多包含50000个字符。

是否有解决方法?


我的公式是:

=ARRAYFORMULA(SPLIT(QUERY({B!A1:A100; ........ ; CA!DZ1:DZ100}, 
 "select * where Col1 is not null order by Col1 asc", 0), " "))

完整公式为: pastebin.com/raw/ZCkZahpw

为Pastebin道歉...我在这里也遇到了一些错误:

注释1:,因为它是一个长公式,所以它的输出应为〜100行×3列 注释2:到目前为止,我设法绕过JOIN / TEXTJOIN输入了50000+个字符,甚至不超过500000个单元格总数

1 个答案:

答案 0 :(得分:1)

  

是否有一个脚本可以为单元内公式绕过50000个字符?

如果{B!A1:A100; ........ ; CA!DZ1:DZ100}的长度大于5万个字符,请考虑构建一个自定义函数来为您构建数组。您可以“硬编码”引用,也可以将它们作为文本列出,以供脚本读取。

然后,结果公式可能看起来像=ARRAYFORMULA(SPLIT(QUERY(MYCUSTOMFUNCTION(), "select * where Col1 is not null order by Col1 asc", 0), " "))=ARRAYFORMULA(SPLIT(QUERY(MYCUSTOMFUNCTION(A1:A1000), "select * where Col1 is not null order by Col1 asc", 0), " "))(假设您有1000个引用。