Zeilenwerte in mehr als 1 Blatt löschen, falls in einem anderen Blatt vorhanden

Der folgende Code stammt aus einer Antwort von diesemPos zum Kopieren von Zeilenwerten in ein neues Blatt, wenn es in einem anderen Blatt vorhanden ist.

Nun, was ist, wenn ich anstatt die doppelten Werte auf Blatt 3 zu kopieren, sie von Blatt 1 und 2 löschen möchte, wenn sie in Blatt 3 vorhanden sind. Mit demselbenKalkulationstabell, Ich habe 3 Blätter. Der eindeutige Wert, der auf den ersten beiden Blättern verglichen wird, ist die erste Spalte "ID-NUMMER".

Gegeben die Werte,784 | John Steep | I.T Department, das in allen 3 Blättern vorhanden ist, sollte derselbe Zeilenwert in Blatt 1 und 2 gelöscht werden und derselbe Wert in Blatt 3 beibehalten werden.

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);
}

Kann scheinbar nicht die richtige Lösung finden. Versuchte mehrere Skripte, brachte es aber nicht zum Laufen.

Vielen Dank für jeden Rat / Vorschlag.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage