【问题标题】:How to add cell values across multiple separate Google Sheet files, when each file also has several worksheets?当每个文件还有多个工作表时,如何在多个单独的 Google 表格文件中添加单元格值?
【发布时间】:2021-12-13 20:28:19
【问题描述】:

为了在即将到来的冬季学期课程中实施一项练习,以减轻学生和我自己的负担,我需要能够将给定单元格的值添加到每个学生的文件中,并将该值发布到单独的(班级汇总) 文件。

每个学生文件本身将包含多个工作表,我需要聚合的一个单元格值可能在顶部工作表上,另一个可能在第三个工作表上。

我希望有人可以提供一个示例,说明如何在单独的 Google 表格文件中引用给定单元格,这样我就可以实现上述目标。一旦我写了公式,我假设,因为作为教师我将是所有文件的所有者,所以聚合文件将随着学生文件的变化而动态更新。

如果没有这个功能,我将不得不限制学生可以做什么,只是为了让我自己的任务更容易构建结果聚合。

下面的玩具示例假设 3 名学生,每人维护一个包含 2 个工作表的 Google 表格文件,如下所示

https://docs.google.com/spreadsheets/d/1pn9D6s382lvnsY-GoMr92aFGFmL_11N2g4tci0tWyzQ/edit?usp=sharing

https://docs.google.com/spreadsheets/d/1aqrGEJQUFg8cdpJwOaj7ZO64iOm9op0U4kXsBn72JMI/edit?usp=sharing

https://docs.google.com/spreadsheets/d/18ixwhnSVesDDfba2AvSN7v-TPiemGEtavkAlw9GS02c/edit?usp=sharing

我想将第一个工作表第二列中的数字相加 每个 Google 表格文件,以获取“类聚合”文件,如

https://docs.google.com/spreadsheets/d/18XnZ7ZaVGfxOTiaT11FH_t5s5RWQQevfZFWrUWb9gPM/edit?usp=sharing

无需手动复制、粘贴和添加(这就是我所做的 多于)。鉴于 学生维护的 Google 表格是网络链接(我将成为 这些文件以及我是讲师),有没有一种简单的方法来使用 更长的路径名并动态更新类聚合文件。

我希望我已经解释了我想要做什么。如果你有请告诉我 任何问题。感谢您的时间和关注。

【问题讨论】:

  • 我没有看到示例。我只看到一个链接,并且我不关注电子表格的链接,其中最重要的原因是它暴露了我的电子邮件。因此,如果您需要我的帮助,您必须在您的问题中发布我理解您的问题所需的所有内容。
  • @Murgie 感谢您的回复。我不得不为我糟糕的英语水平道歉。根据您的标签,我认为您想使用 Google Apps 脚本实现您的目标。但在你的回复中,你说I was not wedded to using Google Apps Script.。我没有注意到这一点。我再次为此深表歉意。从您的回复中,我了解到我提出的答案没有用。所以我必须删除它。因为我不想混淆其他用户。我再次为我糟糕的英语水平深表歉意。
  • @Tanaike,您的回答比我的解决方案有用且更通用。我的意思是,对于我自己的直接问题,我只寻找最简单的方法来计算几个 Google 表格文件(每个可能有多个选项卡)的聚合并将其存储在一个新文件中。我在此处发布查询后找到的 blog.google 链接向我展示了如何在多个多选项卡文件中的任何一个中引用特定选项卡。这解决了我的问题。

标签: google-apps-script google-sheets


【解决方案1】:

在不了解您的电子表格的情况下如何:

function ttttttttt(obj) {
  const ss = SpreadsheetApp.getActive();
  ss.getSheets().forEach(sh => sh.getRange(obj.a1not).setValue(obj.value));
}

【讨论】:

  • 非常感谢。我还在电子邮件建议中获得了一个链接(不是对我的问题的确切答案,而是告诉我看一个接近的例子):blog.google/products/g-suite/… 在下面显示我为我的玩具问题所做的建议。
【解决方案2】:

上面的 Cooper 和 Tanaike 都提供了使用脚本的建议,我意识到这比我从同事发送的 blog.google 链接中得到的答案要好得多。显然,脚本提供了更多的灵活性,并且可以让我做更多的事情。我的直接目标是看看是否可以在不使用手动复制和粘贴的情况下生成聚合文件中的数字。

链接https://blog.google/products/g-suite/g-suite-pro-tips-how-sync-one-spreadsheet-another-google-sheets/ 教我如何在工作表中引用选项卡,然后我先尝试了函数 SUM。这似乎不适用于单独的 Google Sheet 文件。然后我尝试了链接中示例中显示的相同 Importrange 函数,并且确实有效。因此,通过首先使用 IMPORTRANGE,然后在同一个选项卡中使用 SUM,我实现了我想要做的事情。我通过将 Sheet_10 玩具文件中的一个数字 10 更改为 12 来检查它是否会动态更新。聚合也发生了变化。

我所做的显示在https://docs.google.com/spreadsheets/d/18XnZ7ZaVGfxOTiaT11FH_t5s5RWQQevfZFWrUWb9gPM/edit#gid=0

鉴于我的冬季学期即将开始,而且我在编码方面绝对不聪明,为了准备上课,我可能会选择不太优雅的解决方案。这个 Google 表格问题是在希望每个学生维护自己的作品集的背景下出现的,但是除了他们找到的其他信息之外,还向他们展示了总体表现。

Google 表格有 400 多个功能,但只有一些功能可以跨不同文件使用。 SUM 没有,IMPORTRANGE 有。我今天学到了很多。当我找到时间时,我将尝试使用此处给出的脚本建议。感谢您的宝贵时间和帮助。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
相关资源
最近更新 更多