当前位置: 首页 > 知识库问答 >
问题:

在Google sheets电子表格中(动态)合并多个工作表

南门茂才
2023-03-14

我有一个谷歌电子表格,其中有3张表格,包含来自不同国家的数据(Country1Country2Country3),还有第4张表格(Summary)。所有图纸中的列都相同。

我已经知道我可以这样组合它们:

=QUERY({Country1!A2:G;Country2!A2:G;Country3!A2:G}; "SELECT * WHERE Col1 IS NOT NULL")

然而,我需要一种方法将任意数量的纸张组合在一起,而不需要修改公式。所以,如果添加了Country4,也应该追加。我怎么能那样做?

如果有帮助,我有一个设置工作表,其中有一列包含所有国家的名称(因此也包括国家工作表名称)。我有一个脚本,如果在设置工作表中添加了一个国家,它将动态生成新工作表。如有必要,此脚本还可以更新摘要工作表中的公式。

共有1个答案

唐运诚
2023-03-14

您可以使用附加脚本为此动态创建公式。

function generateFormula() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = ss.getSheets();
  var formula = "=QUERY({";
  for (var i = 0; i < sheets.length; i++) {
    var name = sheets[i].getName();
    if (name != "Settings" && name != "Summary") {
      formula = formula + name + "!A2:G;";
    }
  }
  formula = formula.slice(0, -1) + '}, "SELECT * WHERE Col1 IS NOT NULL", 0)'
  ss.getSheetByName("Summary").getRange("A1").setFormula(formula);
}

这只是实现这一点的一种可能的方法,尽管我不相信不使用脚本就可以任意进行。

  • 文档编辑器帮助-查询功能
  • 谷歌应用程序脚本-方法范围。设置公式(公式)
 类似资料:
  • 我使用Google SpreadSheet附加组件制作Google Analytics(分析)报表。我的问题是,对于每个查询,这个附加组件都会创建不同的工作表。我经常有大约50张不同的表格,其中的数据必须编译成一张表格。例如: 我可能有三张表格,分别是:“有机数据”、“直接数据”和“其他数据” 每个工作表都有一组不同的数据,我想在第四个工作表“Report”中将它们编译成一个表。该表的第一列数据来

  • 我有一个用于Google Sheets的“onEdit”脚本,但只希望它在一张工作表上工作: 如何更改脚本,使其仅在工作表中的一张工作表上工作?

  • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为

  • 我知道如何复制工作表,但这将导致多个工作表。我需要的是一个输出工作表,一个接一个地包含所有的工作表。 目前我正在做的是将每个工作表导出为< code>DataTable,然后逐个导入: 但这样,我就失去了单元格样式和文本格式 有没有办法用保留样式?

  • 可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV

  • 我有一个谷歌电子表格,里面有多张表格,我想把每一张表格复制到一个新的电子表格中,并在一个特定的单元格中以文本命名新的电子表格。我很高兴运行脚本多次,所以我想让它复制活动表。 即。我所拥有的=称为“颜色”的电子表格——工作表1=“红色”,工作表2=“蓝色”,工作表3=“黄色”,等等。 我想要什么= 名为“红色”的电子表格。电子表格叫做"蓝色",电子表格叫做"黄色" 到目前为止,我有这个脚本,但它告诉