谷歌表格IMPORTRANGE和QUERY不刷新

5

我一直在大量使用 IMPORTRANGE 和 QUERY 来连接我的所有电子表格。但是最近发现,除非打开源工作表,否则 IMPORTRANGE 和 QUERY 将无法返回正确的数据。此外,以前 IMPORTRANGE 的后台自动更新数据(每30分钟或默认刷新频率),但现在只有在我手动打开工作表时才会更新数据,并且在返回数据之前会显示 "正在加载..."。

还有其他人碰到这两个函数的问题吗?

1个回答

4

这个答案解释了你遇到的问题。

总结:

  1. 在工作表未打开时不会更新。
  2. 重新计算只发生在打开工作表时。

从电子表格外部提取数据的函数会在以下时间重新计算:
ImportRange:30分钟
ImportHtml、ImportFeed、ImportData、ImportXml:1小时
GoogleFinance:可能会延迟20分钟

替代方案:

  • 您可以使用定时触发器,每隔N分钟/小时更新这些值,但是您需要为此创建脚本。
  • 每次触发时,您都必须在使用importrangequery的每个单元格上使用setFormula

参考资料:


1
之前不知道import range有时间延迟,我以为它是立即的,或者至少在几年前我使用时是立即的。 - Umar.H
1
嗨,@NaziA感谢您的回复。我知道ImportRange有30分钟的延迟。问题不在于它没有更新,而是数据似乎不存在,除非打开该工作表。例如,我有一个脚本,每2小时发送一次工作表内容的电子邮件。以前,它会发送一个包含准确内容的Excel表格。现在,在附件中,内容为空。当我打开工作表时,它最终才会加载(显示“正在加载...”)并填充数据。我想我要说的是,直到实际打开包含数据的工作表,数据才存在... - Justin Yu
@Umar.H,如果我没有看到这个问题和链接的答案,我就永远不会知道它也有时间延迟。 - NightEye
@JustinYu,嗯,我认为问题在于sheets只会在打开时对以下函数进行数据计算。如果您希望即使工作表未打开,值也能得到更新,您可能需要通过apps脚本来实现。我会为您提供一个类似的答案,您可以查看一下。 - NightEye
2
@NaziA,是的,这很奇怪。我已经使用ImportRange和Query这种方式一年多了,没有出现过问题。大约一周前它突然发生了。 - Justin Yu
@JustinYu,请查看此答案 - NightEye

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接