Excel-formule: lijst bevat duplicaten -

Generieke formule

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

Samenvatting

Bevat een bereik dubbele waarden? Als u een bereik (of lijst) op duplicaten wilt testen, kunt u dit doen met een formule die AANTAL.ALS gebruikt in combinatie met SOMPRODUCT.

In het voorbeeld is er een lijst met namen in het bereik B3: B11. Als u deze lijst wilt testen om te zien of er dubbele namen zijn, kunt u gebruik maken van:

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

Uitleg

AANTAL.ALS werkt van binnen naar buiten en krijgt eerst een telling van elke waarde in B3: B11 in het bereik B3: B11. Omdat we een reeks (matrix) cellen voor de criteria leveren, retourneert AANTAL.ALS als resultaat een reeks tellingen. In het getoonde voorbeeld ziet deze array er als volgt uit:

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

Volgende 1 wordt afgetrokken, wat een array als volgt oplevert:

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

Merk op dat elke 1 in de array (dwz items die slechts één keer voorkomen) is geconverteerd naar een nul.

Vervolgens voegt SOMPRODUCT de elementen in deze array toe en retourneert het resultaat, in dit geval het getal 2, dat vervolgens wordt getest op een waarde> 0.

Elke keer dat een lijst duplicaten bevat, zullen er ten minste twee enen in de array staan, opgeteld door SOMPRODUCT, dus een eindresultaat van TRUE betekent dat de lijst duplicaten bevat.

Omgaan met lege cellen

Lege cellen in het bereik zorgen ervoor dat de bovenstaande formule onjuiste resultaten oplevert. Om lege of lege cellen uit te filteren, kunt u het volgende alternatief gebruiken:

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

Hier gebruiken we de lijst met logische uitdrukkingen "" om alle waarden die zijn gekoppeld aan lege cellen naar nul te forceren.

Goede links

Checklijst voor dubbele nummers (Chandoo)

Interessante artikelen...