【问题标题】:Merge multiple Google Sheets into one with multiple tabs将多个 Google 表格合并为一个具有多个标签的表格
【发布时间】:2019-04-17 16:58:13
【问题描述】:

我有 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() 函数?创建“主表”后,无需执行任何其他操作。这将在每次编辑导入的文件时(接近)实时更新工作表。
  • 非常感谢,我从没想过使用它。我确实需要我创建 30 个单独的选项卡和范围,但它会起作用。
  • 您可以随时编写脚本来创建选项卡并添加公式。 ;-)

标签: google-apps-script google-sheets google-sheets-formula


【解决方案1】:
={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 公式都需要先单独粘贴以允许访问

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-24
    • 2022-08-21
    • 2021-04-24
    • 2022-01-27
    • 2020-07-11
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    相关资源
    最近更新 更多