Excel-formel: Telle unike verdier i et område med COUNTIF -

Innholdsfortegnelse

Generisk formel

=SUMPRODUCT(1/COUNTIF(data,data))

Sammendrag

For å telle antall unike verdier i et celleområde, kan du bruke en formel basert på COUNTIF og SUMPRODUCT-funksjonene. I eksemplet viser er formelen i F6:

=SUMPRODUCT(1/COUNTIF(B5:B14,B5:B14))

Forklaring

COUNTIF fungerer fra innsiden og ut, og er konfigurert til verdier i området B5: B14, ved å bruke alle disse samme verdiene som kriterier:

COUNTIF(B5:B14,B5:B14)

Fordi vi gir 10 verdier for kriterier, får vi tilbake en matrise med 10 resultater som dette:

(3;3;3;2;2;3;3;3;2;2)

Hvert tall representerer et antall - "Jim" vises 3 ganger, "Sue" vises 2 ganger, og så videre.

Denne matrisen er konfigurert som en divisor med 1 som teller. Etter divisjon får vi et annet utvalg:

(0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5)

Eventuelle verdier som forekommer i bare en gang i området vil vises som 1s, men verdier som forekommer flere ganger vil vises som brøkverdier som tilsvarer multiple. (dvs. en verdi som vises 4 ganger i data vil generere 4 verdier = 0,25).

Til slutt summerer SUMPRODUCT-funksjonen alle verdiene i matrisen og returnerer resultatet.

Håndtering av blanke celler

En måte å håndtere tomme eller tomme celler på er å justere formelen som følger:

=SUMPRODUCT(1/COUNTIF(data,data&""))

Ved å sammenkoble en tom streng ("") til dataene, forhindrer vi at nuller havner i matrisen opprettet av COUNTIF når det er tomme celler i dataene. Dette er viktig, fordi et null i deleren vil føre til at formelen kaster en # DIV / 0-feil. Det fungerer fordi bruk av en tom streng ("") for kriterier teller tomme celler.

Imidlertid, selv om denne versjonen av formelen ikke vil kaste en # DIV / 0-feil når det er med tomme celler, vil den inkludere tomme celler i tellingen. Hvis du vil ekskludere blanke celler fra tellingen, bruker du:

=SUMPRODUCT((data"")/COUNTIF(data,data&""))

Dette har den effekten at antallet tomme celler fjernes ved å gjøre telleren null for tilknyttede tellinger.

Treg ytelse?

Dette er en kul og elegant formel, men den beregner mye saktere enn formler som bruker FREKVENS for å telle unike verdier. For større datasett kan det være lurt å bytte til en formel basert på FREKVENS-funksjonen. Her er en formel for numeriske verdier, og en for tekstverdier.

Interessante artikler...