将多个 Google 个电子表格合并为一个 Sheet

Merge Multiple Google Spreadsheets into One Sheet

我有几个 Google 电子表格。 此电子表格具有相同的列号和列名,但数据不同。

我想将所有这些电子表格合并为一个 Sheet。 我发现的最接近的是:http://ctrlq.org/code/19980-merge-google-spreadsheets ,但它会为电子表格上的每个 Sheet 生成具有不同 Sheet 的新电子表格。 我只想要一个包含所有数据的 Sheet。 你们知道怎么做吗?

简答

使用嵌入式数组。具有使用点作为小数点分隔符的区域设置的电子表格的最简单形式是

  • ={A1:A2;B1:B2} 用于垂直合并和
  • ={A1:A2,B1:B2} 用于水平合并。

说明

要垂直合并两个范围,

  • 对于使用点作为小数点分隔符和逗号作为函数参数分隔符的电子表格

    ={Sheet1!A1:B5;Sheet2!A1:B5}

  • 对于使用逗号作为小数点和分号作为函数参数分隔符的电子表格

    ={Sheet1!A1:B5\Sheet2!A1:B5}

参考

您可以为此使用 Google Apps 脚本。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var All = ss.insertSheet("All-Values");

function TotalsSheet() {
  var totaldata = [];
  var sheets = ss.getSheets();
  var totalSheets = 2;

  for (var i=0; i < totalSheets; i++) {
    var sheet = sheets[i];
    var range = sheet.getDataRange();
    var values = range.getValues();

    for (var row in values) {
      totaldata.push(values[row]);
    }
  }
  return totaldata; 
}

function Start() {
  var totaldata = TotalsSheet();
  for (var i =0; i < totaldata.length; i++) {
    All.appendRow(totaldata[i]);
  } 
}