我已经从删除电子表格中的重复行 Google Apps教程修改了脚本,以便比较两张纸之间给定范围内的数据(SRC和DEST) 。然后将唯一数据写入DEST表。它似乎有效,但SRC上的新(唯一)数据覆盖了DEST表上的当前数据(从第一行开始),我需要在最后添加它。什么是实现这一目标的最佳方式?
这里是Spreadsheet
以下是剧本:
function appendNEW() {
// source spreadsheets
var ss = SpreadsheetApp.getActiveSpreadsheet();
var srcSheet = ss.getSheetByName("SRC");
//destination spreadsheet
var destSheet = ss.getSheetByName("DEST");
var srcData = srcSheet.getRange('A2:B').getValues();
var destdData = destSheet.getRange('A2:B').getValues();
var newData = new Array();
for(i in srcData){
var row = srcData[i];
var duplicate = false;
for(j in srcData){
if(row[0] == destdData[j][0] && row[1] == destdData[j][1]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
destSheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
任何帮助将不胜感激!谢谢!
答案 0 :(得分:2)
而不是
destSheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
试
destSheet.getRange(destSheet.getLastRow()+1, 1, newData.length, newData[0].length).setValues(newData);
以上是因为destSheet.getLastRow()+1
返回第一个空白行的行号。