下面的代碼來自此post有關將行值複製到新工作表的答案(如果它存在於其他工作表中)。如果存在於另一個工作表中,則刪除超過一個工作表中的行值
現在,如果不是將重複值複製到工作表3中,而是將它們從工作表1和工作表2中刪除(如果它存在工作表3中)。使用相同的spreadsheet,我有3個工作表。在前兩張紙上將比較的唯一值是第一列「ID NUMBER」。
給出的值,784 | John Steep | I.T Department
,它存在於所有3個片材,在同一行的值應在表1和2中被刪除,並保持在表3.
function copyRowtoSheet3() {
var s1 = SpreadsheetApp.openById("ID").getSheetByName('Sheet1');
var s2 = SpreadsheetApp.openById("ID").getSheetByName('Sheet2');
var s3 = SpreadsheetApp.openById("ID").getSheetByName('Sheet3');
var values1 = s1.getDataRange().getValues();
var values2 = s2.getDataRange().getValues();
var resultArray = [];
for(var n=0; n < values1.length ; n++){
var keep = false;
for(var p=0; p < values2.length ; p++){
Logger.log(values1[n][0]+' =? '+values2[p][0]);
if(values1[n][0] == values2[p][0] && values1[n][3] == values2[p][4]){
resultArray.push(values1[n]);
Logger.log('true');
break ;// remove this if values are not unique and you want to keep all occurrences...
}
}
}
s3.getRange(+1,1,resultArray.length,resultArray[0].length).setValues(resultArray);
}
似乎無法爲相同的值找到正確的解決方案。嘗試了幾個腳本,但沒有成功。
謝謝你的任何建議/建議。
我選擇了在OP需要修改和擴展功能的情況下提供易於理解的東西(雖然,雖然,無可否認,效率低下)。 – 2014-11-05 00:11:34
嗨@Serge Insas。我嘗試了你提供的腳本,它完美的工作。我只是修改了一些代碼來滿足我的其他規格。你是個天才!非常感謝! – Orlando 2014-11-05 01:44:22