我正在比较基于每个项目第二列的两张工作表。如果我发现有一些缺失值,我将相应的行从sheet1复制到sheet2。我的脚本运行完美,但我正在逐一复制每个单元格。我相信有一个更有效的方法来处理这个问题。我想直接复制并传递整行。根据条件声明复制整个项目
我的问题会更有意义,如果你在看我的代码,尤其是最后一部分:
function myFunction() {
var sheet1 = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sheet2 = SpreadsheetApp.openById("ID").getSheetByName("Sheet2");
var date1 = sheet1.getRange(1, 2, sheet1.getLastRow()).getValues(); //getRange(row, column, numRows, numColumns)
var date2 = sheet2.getRange(1, 2, sheet1.getLastRow()).getValues();
for (var i = 0; i < date1.length; i++){
test = sheet2.getRange(i+1, 2).getValue()
test1 = sheet1.getRange(i+1, 2).getValue()
if (test != test1) {
var data1 = sheet1.getRange(i+1,2).getValue();
var data2 = sheet1.getRange(i+1,3).getValues();
var data3 = sheet1.getRange(i+1,4).getValue();
sheet2.getRange(i+1, 2).setValue(data1);
sheet2.getRange(i+1, 3).setValue(data2);
sheet2.getRange(i+1, 4).setValue(data3);
}
}
}