Supprimer les doublons à l’aide de l’API JavaScript Excel

Cet article fournit un exemple de code qui supprime les entrées en double dans une plage à l’aide de l’API JavaScript Excel. Pour obtenir la liste complète des propriétés et méthodes prises en charge par l’objet Range , voir Classe Excel.Range.

Supprimer des lignes avec des entrées en double

La méthode Range.removeDuplicates supprime les lignes avec des entrées en double dans les colonnes spécifiées. La méthode passe par chaque ligne de la plage de l’index à la valeur la plus basse à l’index ayant la valeur la plus élevée dans la plage (de haut en bas). Une rangée est supprimée si une valeur dans sa/ses colonne(s) spécifiée(s) apparue(s) plus tôt dans la plage. Les rangées de la plage en-dessous de la rangée supprimée sont déplacées. removeDuplicates n’affecte pas la position des cellules en dehors de la rangée.

removeDuplicatesprend un number[] représentant les indices de la colonne qui sont vérifiés pour les doublons. Ce tableau est à base zéro et lié à la rangée, et non à la feuille de calcul. La méthode accepte également un paramètre booléen qui spécifie si la première ligne est un en-tête. Quand truela valeur est , la ligne supérieure est ignorée lors de la prise en compte des doublons. La removeDuplicates méthode retourne un RemoveDuplicatesResult objet qui spécifie le nombre de lignes supprimées et le nombre de lignes uniques restantes.

Lorsque vous utilisez la méthode d’une removeDuplicates plage, gardez les points suivants à l’esprit.

  • removeDuplicatesconsidère les valeurs de cellule, et non les résultats de la fonction. Si deux fonctions différentes évaluent le même résultat, les valeurs de la cellule ne sont pas considérées comme doublons.
  • Les cellules vides ne sont pas ignorées parremoveDuplicates. La valeur d’une cellule vide est traitée comme toute autre valeur. Cela signifie que les rangées vides contenues au sein de la plage seront incluses dans le RemoveDuplicatesResult.

L’exemple de code suivant montre la suppression des entrées avec des valeurs dupliquées dans la première colonne.

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

Données avant la suppression des entrées en double

Données dans Excel avant l’exécution de la méthode remove duplicates de la plage.

Données après la suppression des entrées en double

Données dans Excel après l’exécution de la méthode remove doublons de la plage.

Voir aussi