将两个Google电子表格合并在一起并保持同步

时间:2014-09-17 01:53:23

标签: google-sheets

我有两张来自其他人的纸张,并希望创建另一张将两张纸合并在一起的纸张。

e.g。

希达:

Name value
A     10
B     20

SheetB:

Name value
C    30
D    40

然后我想创建一个SheetC:

Name value
A     10
B     20
C     30
D     40

如果我更改SheetC,我希望数据自动同步到SheetA或SheetB。

1 个答案:

答案 0 :(得分:0)

我可以使用以下脚本实现doc结合:

function runme() {
  var docA = "<Doc Id A>";
  var docB = "<Doc Id B>";
  var sheetName = "Sheet1";
  appendSheet(docA,sheetName);
  appendSheet(docB,sheetName);
}

function appendSheet(docId,sheetName) {
  var sourceSpread = SpreadsheetApp.openById(docId);
  var sourceSheet = sourceSpread.getSheetByName(sheetName)

  var activeSpread = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = activeSpread.getActiveSheet();
  var activeSheetName = activeSheet.getSheetName();

  sourceRng = sourceSheet.getDataRange();
  sourceRows = sourceRng.getValues(),

  activeSheet.appendRow(sourceRows[0]);
  for (i = 1; i < sourceRows.length; i += 1) {  
    activeSheet.appendRow(sourceRows[i]);
  }
  Logger.log("total: " + i);
}

但似乎很难将docC中的信息同步到docA和docB。