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

将多个Google工作表合并为一个具有多个选项卡的工作表

贾骏
2023-03-14

我有30张单独的工作表,需要合并成一张有多个选项卡的工作表。我可以使用下面的脚本来完成这项工作,但每次都会创建一个新的工作表。当30张单独的工作表中的一张或全部更新时,我只希望这个脚本更新或重写以前创建的“主工作表”。

    function mergeSheets() 
{

  /* Retrieve the desired folder */
  var myFolder = DriveApp.getFoldersByName("Email Groups").next();

  /* Get all spreadsheets that resided on that folder */
  var spreadSheets = myFolder.getFilesByType("application/vnd.google-apps.spreadsheet");

  /* Create the new spreadsheet that you store other sheets */  
  var newSpreadSheet = SpreadsheetApp.create("All Districts Email");

  /* Iterate over the spreadsheets over the folder */
  while(spreadSheets.hasNext()) {

    var sheet = spreadSheets.next();

    /* Open the spreadsheet */
    var spreadSheet = SpreadsheetApp.openById(sheet.getId());

    /* Get all its sheets */
    for(var y in spreadSheet.getSheets()) {

      /* Copy the sheet to the new merged Spread Sheet */
      spreadSheet.getSheets()[y].copyTo(newSpreadSheet); 
    }
  }      
}

我正在寻找一个表,其中包含从每个地区的标签。这将允许我与单独更新的所有信息共享一个主控表。

共有1个答案

充子航
2023-03-14
={IMPORTRANGE("ID1", "Sheet1!A1:B10"),
  IMPORTRANGE("ID1", "Sheet2!A1:B10"),
  IMPORTRANGE("ID1", "Sheet3!A1:B10"),
  IMPORTRANGE("ID2", "Sheet1!A1:B10"),
  IMPORTRANGE("ID2", "Sheet2!A1:B10"),
  IMPORTRANGE("ID3", "Sheet8!A1:B10"),
  IMPORTRANGE("ID4", "Sheet7!A1:B10"),
  IMPORTRANGE("ID4", "Sheet9!A1:B10")}

还要注意的是,每个具有唯一ID的IMPORTRANGE公式都需要首先单独粘贴,以允许访问

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

  • 我正在创建一个“主”谷歌工作表的基础上的谷歌工作表文件文件夹(目前6个文件)。每个工作表的选项卡数量略有不同(有些名称略有不同),但我想循环一个公式以获取每个工作表文件中每个选项卡的值。(例如,fileA有3个选项卡,我想从每个选项卡中获取数据,并在fileB中重复类似的操作,fileB有4个选项卡)。我还想跳过几个命名选项卡。 下面是我的一段代码(2个交错函数): 但是,这只是从每个文件中的一个

  • 所以我有 1500 个 Excel 工作簿,每个工作簿都有 10 张结构完全相同的工作表。我尝试将多个Excel工作簿合并到一个文件中,并使用以下代码成功: 谢谢,努尔贝克

  • 我有一个Excel工作簿,其中包含36个不同的工作表,我每两周收到一次,工作表在所有标签上都有共同的标题,并且每个标签上都有不同的唯一标题,但每条记录都有一个唯一的ID,可以有多个记录。 我要做的是从所有的工作表中提取唯一的id,然后将每个工作表中的数据提取到一个工作表中,其中包含所有的公共标题和唯一标题。 我正在考虑使用下面帖子中的代码将其导入Access。连接表并将其导出回Excel中的一个工

  • 我不是100%确定是正确的公式,但我尝试的是: 我想修改上面的公式来做以下事情。我有一个多标签谷歌表。只有一个选项卡将所有数据存储为元数据,以填充其他6个选项卡。我将元数据拆分为6个选项卡,但希望避免重复选项卡中的数据。因此,我想创建一个列,显示数据当前的位置(如果已经放置)。以下是一个例子: 主表有以下数据: 将有4个标签,我有相同的列(姓名,电话,地址,电子邮件)。我将把主控表中的数据拆分为这

  • 我希望表2(标题为“托管交易”)按日期自动排序,表1(标题为“贷款查询”)按姓氏自动排序。两张表都在一张谷歌表中。我已经找到了下面的脚本,我对它进行了轻微的修改,它在第2页上的效果非常好,可以按日期自动排序; 但是,我希望第一张工作表按照第2列中的姓氏自动排序,而不是脚本所指的第7列 值得一提的是,我对脚本做了以下更改,并在下面的脚本中添加了按姓氏排序的脚本,该脚本在第1页的第2列中运行良好; 但