Formule Excel: la liste contient des doublons -

Table des matières

Formule générique

=SUMPRODUCT(COUNTIF(data,data)-1)>0

Sommaire

Une plage contient-elle des valeurs en double? Si vous souhaitez tester une plage (ou une liste) pour les doublons, vous pouvez le faire avec une formule qui utilise COUNTIF avec SUMPRODUCT.

Dans l'exemple, il existe une liste de noms dans la plage B3: B11. Si vous souhaitez tester cette liste pour voir s'il existe des noms en double, vous pouvez utiliser:

=SUMPRODUCT(COUNTIF(B3:B11,B3:B11)-1)>0

Explication

En travaillant de l'intérieur vers l'extérieur, COUNTIF obtient d'abord un décompte de chaque valeur de B3: B11 dans la plage B3: B11. Étant donné que nous fournissons une plage (tableau) de cellules pour les critères, COUNTIF renvoie un tableau de nombres en conséquence. Dans l'exemple illustré, ce tableau ressemble à ceci:

(1; 2; 1; 1; 1; 1; 1; 2; 1)

Le 1 suivant est soustrait, ce qui donne un tableau comme celui-ci:

(0; 1; 0; 0; 0; 0; 0; 1; 0)

Notez que chaque 1 dans le tableau (c'est-à-dire les éléments qui n'apparaissent qu'une seule fois) a été converti en zéro.

Ensuite, SUMPRODUCT ajoute des éléments de ce tableau et renvoie le résultat, qui dans ce cas est le nombre 2, qui est ensuite testé pour une valeur> 0.

Chaque fois qu'une liste contient des doublons, il y aura au moins deux 1 dans le tableau additionné par SUMPRODUCT, donc un résultat final de TRUE signifie que la liste contient des doublons.

Gestion des cellules vides

Les cellules vides dans la plage entraîneront la formule ci-dessus pour générer des résultats incorrects. Pour filtrer les cellules vides ou vides, vous pouvez utiliser l'alternative suivante:

=SUMPRODUCT((COUNTIF(list,list)-1)*(list""))>0

Ici, nous utilisons la liste d'expressions logiques "" pour forcer toutes les valeurs associées aux cellules vides à zéro.

Bons liens

Liste de contrôle pour les numéros en double (Chandoo)

Articles intéressants...