Freigeben über


Entfernen von Duplikaten mithilfe der Excel-JavaScript-API

Dieser Artikel enthält ein Codebeispiel, das doppelte Einträge in einem Bereich mithilfe der Excel-JavaScript-API entfernt. Eine vollständige Liste der Eigenschaften und Methoden, die das Range Objekt unterstützt, finden Sie unter Excel.Range-Klasse.

Entfernen von Zeilen mit doppelten Einträgen

Die Range.removeDuplicates-Methode entfernt Zeilen mit doppelten Einträgen in den angegebenen Spalten. Die -Methode durchläuft jede Zeile im Bereich vom Index mit dem niedrigsten Wert bis zum Index mit dem höchsten Wert im Bereich (von oben nach unten). Eine Zeile wird gelöscht, wenn ein Wert in ihrer angegebenen Spalte bereits zuvor in dem Bereich vorkam. Zeilen in dem Bereich unter der gelöschten Zeile werden nach oben verschoben. removeDuplicates hat keine Auswirkungen auf die Position von Zellen außerhalb des Bereichs.

removeDuplicates verwendet ein number[], das die Spaltenindizes darstellt, die auf Duplikate überprüft werden. Dieses Array ist nullbasiert und steht im Zusammenhang mit dem Bereich und nicht mit der Arbeitsmappe. Die -Methode akzeptiert auch einen booleschen Parameter, der angibt, ob die erste Zeile ein Header ist. Bei truewird die oberste Zeile ignoriert, wenn Duplikate in Betracht gezogen werden. Die removeDuplicates -Methode gibt ein RemoveDuplicatesResult -Objekt zurück, das die Anzahl der entfernten Zeilen und die Anzahl der verbleibenden eindeutigen Zeilen angibt.

Beachten Sie folgendes, wenn Sie die -Methode eines Bereichs removeDuplicates verwenden.

  • removeDuplicates betrachtet Zellenwerte und nicht Funktionsergebnisse. Wenn zwei unterschiedliche Funktionen dasselbe Ergebnis ergeben, werden die Zellenwerte nicht als Duplikate betrachtet.
  • Leere Zellen werden von removeDuplicates nicht ignoriert. Der Wert einer leeren Zelle wird wie jeder andere Wert auch behandelt. Dies bedeutet, dass leere Zeilen, die in dem Bereich enthalten sind, in die RemoveDuplicatesResult eingeschlossen werden.

Das folgende Codebeispiel zeigt das Entfernen von Einträgen mit doppelten Werten in der ersten Spalte.

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");
    let range = sheet.getRange("B2:D11");

    let deleteResult = range.removeDuplicates([0],true);
    deleteResult.load();

    await context.sync();

    console.log(deleteResult.removed + " entries with duplicate names removed.");
    console.log(deleteResult.uniqueRemaining + " entries with unique names remain in the range.");
});

Daten, bevor doppelte Einträge entfernt werden

Daten in Excel, bevor die Methode zum Entfernen von Duplikaten des Bereichs ausgeführt wurde.

Daten nach doppelten Einträgen werden entfernt

Daten in Excel, nachdem die Methode zum Entfernen von Duplikaten des Bereichs ausgeführt wurde.

Siehe auch