
Generisk formel
=SUMPRODUCT(COUNTIF(data,data)-1)>0
Sammanfattning
Innehåller ett intervall dubbla värden? Om du vill testa ett intervall (eller lista) för dubbletter kan du göra det med en formel som använder COUNTIF tillsammans med SUMPRODUCT.
I exemplet finns en lista med namn i intervallet B3: B11. Om du vill testa listan för att se om det finns dubblettnamn kan du använda:
=SUMPRODUCT(COUNTIF(B3:B11,B3:B11)-1)>0
Förklaring
Arbetar inifrån och ut får COUNTIF först ett värde av varje värde i B3: B11 i intervallet B3: B11. Eftersom vi levererar ett område (array) av celler för kriterierna, returnerar COUNTIF en array med räkningar som ett resultat. I exemplet som visas ser denna array ut så här:
(1; 2; 1; 1; 1; 1; 1; 2; 1)
Nästa 1 subtraheras, vilket ger en matris så här:
(0; 1; 0; 0; 0; 0; 0; 1; 0)
Observera att varje 1 i matrisen (dvs. objekt som visas en gång) har konverterats till noll.
Därefter lägger SUMPRODUCT till elementen i denna matris och returnerar resultatet, som i detta fall är siffran 2, som sedan testas för ett> 0-värde.
Varje gång en lista innehåller dubbletter kommer det att finnas minst två 1 i arrayen som summeras av SUMPRODUCT, så ett slutresultat av TRUE betyder att listan innehåller dubbletter.
Hantera tomma celler
Tomma celler i intervallet kommer att få formeln ovan att generera felaktiga resultat. För att filtrera bort tomma eller tomma celler kan du använda följande alternativ:
=SUMPRODUCT((COUNTIF(list,list)-1)*(list""))>0
Här använder vi den logiska uttryckslistan "" för att tvinga alla värden som är associerade med tomma celler till noll.