【问题标题】:Combine google sheet tab data合并谷歌表格标签数据
【发布时间】:2019-10-24 16:59:51
【问题描述】:

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

有没有一种方法可以将添加的这些信息导入到另一个包含当年所有内容的工作表中?

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

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

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

【问题讨论】:

  • 您可以在不共享私人信息的情况下共享您的电子表格吗?
  • 我有同样的用例 :) 您可以在查询公式中使用 IMPORTRANGE;如果您可以共享一张虚拟纸,我可以提供相应的帮助。
  • link 这是一个虚拟电子表格 - 我现在试试查询公式

标签: google-apps-script google-sheets


【解决方案1】:

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

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

这将过滤日期为 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;
}

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

【讨论】:

  • 谢谢 - 这是我为 =QUERY(Total!A2:F7, "select * where MONTH(B)+1=6") 工作的解决方案我现在可以维护一个总表并让查询功能将其分配到正确的月份
  • @david 很高兴听到!如果对您有帮助,请考虑支持/接受我的回答(stackoverflow.com/help/someone-answers)。干杯!
  • 是的,投了赞成票,但我在这里不够新,不会公开显示它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多