私はそれぞれの2番目の列に基づいて2枚のシートを比較しています。何らかの欠損値があることが判明した場合は、対応する行をsheet1からsheet2にコピーします。私のスクリプトは完全に実行されていますが、私は各セルを1つずつコピーしています。私はこれに対処するより効率的な方法があると確信しています。私は完全な行を直接コピーして渡したいと思います。条件文に基づいて全体をコピーします
より多くの意味を行います私の質問あなたは私のコードを見ている場合は、特に最後の部分:
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);
}
}
}