自定义应用脚本功能未在Google表格的某些特定行上执行

时间:2020-04-02 08:59:53

标签: google-apps-script google-sheets google-docs google-apps-script-api

我已经编写了一些Apps脚本代码,可以从Yahoo和Fizviz提取股票数据,并且一段时间后效果还不错。

自从表中达到一定数量的行(大约20个行情记录)以来,某些特定的行就停止执行,单元格将永远说“正在加载”。该行的apps脚本功能不会显示在stackdriver日志中。如果我对表进行排序以触发刷新,则将执行这些代码,但是其他一些不同的特定行将停止执行,因此问题不应该是代码。另外,奇怪的是,对于不同的排序顺序,未执行的行数是不同的,有时我可以找到大多数行执行的排序顺序。如果我删除除未执行的行以外的所有行,它将保持未执行状态。

Loading forever

我试图提出不同的解释,在这一点上,这一切似乎对我来说都是随机的黑魔法。

有人有和我一样的经历吗?

如果有人好奇的话,这里的代码是这里的,工作表直接使用的主要入口函数在FinanceData.gs中:https://github.com/hoangbv15/FinanceAppsScripts

编辑:非常感谢大家对数组公式的建议。我尝试使用它,但是当我更改过滤/排序时,它无法应付我的过滤器表。也许我没有正确使用它?

1 个答案:

答案 0 :(得分:1)

我试图重现您的错误,但暂时无法正常工作,只是有点慢。这可能是配额问题,但我可能还没有解决。 为避免超出配额,建议您将自定义函数调用包装在=ARRAYFORMULA()中。这样,您的 n 函数调用将被分批处理。

不过,我认为您的App逻辑不适用于Google Apps脚本。您必须对其进行调整以减少响应时间,否则自定义函数调用将超时。