将多个 Google 表格合并为一个具有多个标签页的表格



我有 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); 
    }
  }      
}

我正在寻找一张包含每个地区的选项卡的工作表。这将允许我共享一个主表,其中包含单独更新的所有信息。

={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公式都需要先单独粘贴以允许访问

最新更新