首页 > 解决方案 > 如何解决谷歌表格中IMPORTRANGE公式的限制?

问题描述

我有 50 个 50 个学生的 google sheet 文件。当他们被要求这样做时,他们需要在自己的谷歌表格文件中输入答案。我有一个主要的谷歌表格,可以通过使用IMPORTRANGE公式来整合他们的数据。这是我的公式:

=QUERY({IMPORTRANGE(...);IMPORTRANGE(...);IMPORTRANGE(...);...},"Select * where Col1 is not null")

我将IMPORTRANGE在公式中有 50。因此,正如预期的那样,当 50 名学生开始同时输入他们的答案时,主要的 google 表格非常滞后。有时,公式会显示#Value所有学生何时开始在他们自己的谷歌表格文件中回答问题。我需要不断刷新主谷歌表格,以便数据出来,但它会在短时间内再次消失,然后我需要再次刷新它(尽管一旦大多数学生回答完问题,它就会安定下来)。

我知道使用IMPORTRANGE确实不是将他们的答案整合到主要谷歌工作表文件中的有效方法,但我没有其他更好的方法。

我试图编写一个脚本,以便他们可以通过单击分配给脚本的按钮来发送数据。但是,所有学生在第一次运行脚本时都需要经过授权过程。当他们看到授权过程时,他们不知道如何进行(不太擅长使用计算机)。

我可以知道有什么方法或技巧可以用来解决这个IMPORTRANGE问题吗?或者有什么方法可以编写脚本,我们第一次运行脚本时不需要经过授权过程?

希望得到一些建议和帮助,因为我已经无法从谷歌找到更好的方法。任何帮助将不胜感激!

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


使用这么多IMPORTRANGE公式绝对是个坏主意。我建议你做什么:

  1. 在主文档中保留所有学生电子表格的列表
  2. 编写一个脚本,该脚本将浏览该列表中的所有电子表格并将值复制/粘贴到您的主文档中
  3. 创建一个基于时间的触发器,它将每 X 分钟(或几小时)运行一次脚本,具体取决于您希望结果的准确程度

这是一个简单的解决方案,但有效。根据数据量和学生/电子表格的数量,您可能会考虑其他解决方案(例如编写与脚本相同的云函数),但我认为这适用于您的用例


推荐阅读