合并Google工作表标签数据

时间:2019-10-23 18:40:10

标签: google-apps-script google-sheets

目前,我在12个产品标签中拥有信息,每个标签代表一个月

是否有一种方法可以将添加的信息导入到包含该年度所有内容的另一张工作表中?

我尝试使用importrange(),但问题是数组会重叠,并给出以下错误消息

Array result was not expanded because it would overwrite data in A95.

我可以使用任何公式从这些单独的标签中获取数据并将它们合并到主标签中吗?或者,如果我可以将所有数据保存在主选项卡上,然后将其发送到相关的选项卡月份。

1 个答案:

答案 0 :(得分:0)

我想到的最简单的方法是拥有一个“全局”标签,然后让每个月度标签从中查询数据。为此,您可以使用的公式如下所示(根据您的示例表):

=QUERY(Total!A2:F7, "select * where MONTH(B)+1=6")

这一行将过滤日期为六月的行。

否则,如果您希望从“每月”标签中构建“全局”标签,则可以使用GAS自定义功能,例如:

function MYFUNC() {
  var sheets = SpreadsheetApp.getActive().getSheets();
  var numSheets = sheets.length;
  var result = [];
  for (var i=0; i<numSheets-1; i++) {
    var sheet = sheets[i];
    var dataRange = sheet.getDataRange();
    // Remove header from the datarange
    dataRange = dataRange.offset(1, 0, dataRange.getHeight()-1);
    result = result.concat(dataRange.getValues());
  }
  return result;
}

这将导入并连接除最后一张(总计)以外的所有工作表中的数据,并进行连接。您只需要设置如下:

example sheet