Innholdsfortegnelse
I denne opplæringen lærer du hvordan du teller unike verdier i Excel med formler, og hvordan du får en automatisk telling av distinkte verdier i en pivottabell. Vi vil også diskutere en rekke formeleksempler for telling av unike navn, tekster, tall, unike verdier som skiller mellom store og små bokstaver og mer.
Når du arbeider med et stort datasett i Excel, kan det hende du må vet hvor mange dupliserte og unike verdier som finnes. Og noen ganger vil du kanskje bare telle de distinkte (forskjellige) verdiene.
Hvis du har besøkt denne bloggen regelmessig, kjenner du allerede Excel-formelen for å telle duplikater. Og i dag skal vi utforske forskjellige måter å telle unike verdier i Excel. Men for ordens skyld, la oss definere begrepene først.
- Unike verdier - dette er verdiene som vises i listen bare én gang.
- Distinkte -verdier – disse er alle forskjellige verdier i listen, dvs. unike verdier pluss første forekomst av dupliserte verdier.
Følgende skjermbilde viser forskjellen:
Og nå, la oss se hvordan du kan telle unike og distinkte verdier i Excel ved å bruke formler og pivottabellfunksjoner.
Hvordan telle unike verdier i Excel
Her er en vanlig oppgave som alle Excel-brukere må utføre en gang i blant. Du har en liste over data, og du må finne ut antall unike verdier i denfølg med!
liste. Hvordan gjør du det? Enklere enn du kanskje tror :) Nedenfor finner du noen formler for å telle unike verdier av forskjellige typer.Telle unike verdier i en kolonne
Anta at du har en kolonne med navn i Excel regneark, og du må telle unike navn i den kolonnen. Løsningen er å bruke SUM-funksjonen i kombinasjon med HVIS og ANTALLHVIS:
=SUM(HVIS(TELLHVIS( område, område)=1,1,0))Merk . Dette er en matriseformel, så pass på å trykke Ctrl + Shift + Enter for å fullføre den. Når du har gjort dette, vil Excel automatisk omslutte formelen i {krøllete klammeparenteser} som i skjermbildet nedenfor. Ikke i noe tilfelle bør du skrive de krøllete klammeparentesene manuelt, det vil ikke fungere.
I dette eksempelet teller vi unike navn i området A2:A10, så formelen vår har følgende form:
=SUM(IF(COUNTIF(A2:A10,A2:A10)=1,1,0))
Videre i denne opplæringen skal vi diskutere en håndfull andre formler for å telle unike verdier av forskjellige typer. Og fordi alle disse formlene er varianter av den grunnleggende Excel-formelen for unike verdier, er det fornuftig å bryte ned formelen ovenfor, slik at du fullt ut kan forstå hvordan den fungerer og justere den for dataene dine. Hvis noen ikke er interessert i tekniske detaljer, kan du hoppe rett til neste formeleksempel.
Hvordan Excel teller unike verdier-formelen fungerer
Som du ser, brukes 3 forskjellige funksjoner i vår unike verdier formel - SUM, HVISog COUNTIF. Ser du fra innsiden og ut, er dette hva hver funksjon gjør:
- TELLHVIS-funksjonen teller hvor mange ganger hver enkelt verdi vises i det angitte området.
I dette eksemplet returnerer
COUNTIF(A2:A10,A2:A10)
matrisen{1;2;2;1;2;2;2;1;2}
. - HVIS-funksjonen evaluerer hver verdi i matrisen returnert av COUNTIF, beholder alle 1-er (unike verdier), og erstatter alle andre verdier med nuller .
Så funksjonen
IF(COUNTIF(A2:A10,A2:A10)=1,1,0)
blirIF(1;2;2;1;2;2;2;1;2) = 1,1,0,
som blir til arrayen{1;0;0;1;0;0;0;1;0}
hvor 1 er en unik verdi og 0 er en duplikatverdi. - Til slutt legger SUM-funksjonen sammen verdiene i matrisen som returneres av IF og gir ut det totale antallet unike verdier, som er akkurat det vi ønsket.
Tips . For å se hva en bestemt del av Excel-formelen for unike verdier evalueres til, velg den delen i formellinjen og trykk på F9-tasten.
Telle unike tekstverdier i Excel
Hvis Excel-listen inneholder både numeriske og tekstverdier, og du vil telle bare unike tekstverdier, legger du ISTEXT-funksjonen til matriseformelen diskutert ovenfor:
=SUM(IF(ISTEXT(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))
Som du vet, returnerer Excel ISTEXT-funksjonen TRUE hvis en evaluert verdi er tekst, ellers FALSE. Siden stjernen (*) fungerer som OG-operatoren i matriseformler, returnerer HVIS-funksjonen 1 bare hvis en verdi er både tekst og unik, ellers 0. Og etter at SUM-funksjonen legger sammen alle 1-er, vil du få en telling av unike tekstverdier i de spesifiserteområde.
Ikke glem å trykke Ctrl + Shift + Enter for å angi matriseformelen riktig, og du vil få et resultat som ligner på dette:
Som du kan se på skjermbildet ovenfor, returnerer formelen det totale antallet unike tekstverdier, unntatt tomme celler, tall, logiske verdier av SANN og FALSK og feil.
Tell unike numeriske verdier i Excel
For å telle unike tall i en liste med data, bruk en matriseformel som vi nettopp har brukt for å telle unike tekstverdier, med den eneste forskjellen at du legger inn ISNUMBER i stedet for ISTEXT i den unike verdiformelen:
=SUM(IF(ISNUMBER(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))
Merk. Siden Microsoft Excel lagrer datoer og klokkeslett som serienumre, telles de også.
Tell store og små bokstaver i unike verdier i Excel
Hvis tabellen inneholder store og små bokstaver, er den enkleste måten å telle på unike verdier vil være å lage en hjelpekolonne med følgende matriseformel for å identifisere dupliserte og unike elementer:
=IF(SUM((--EXACT($A$2:$A$10,A2)))=1,"Unique","Dupe")
Og så bruker du en enkel COUNTIF-funksjon for å telle unike verdier:
=COUNTIF(B2:B10, "unique")
Tell distinkte verdier i Excel (unike og første dupliserte forekomster)
For å få en telling av distinkte verdier i en liste, bruk følgende formel:
=SUM(1/ANTALLHVIS( område , område ))Husk at det er en matriseformel, og derfor bør du trykke Ctrl + Shift + Enter snarvei i stedet for den vanlige Entertastetrykk.
Alternativt kan du bruke SUMPRODUKT-funksjonen og fullføre formelen på vanlig måte ved å trykke Enter-tasten:
=SUMPRODUKT(1/ANTALLHVIS( område , område ))For å telle de distinkte verdiene i området A2:A10, kan du for eksempel velge enten:
=SUM(1/COUNTIF(A2:A10,A2:A10))
Eller
=SUMPRODUCT(1/COUNTIF(A2:A10,A2:A10))
Hvordan den distinkte Excel-formelen fungerer
Som du allerede vet, bruker vi funksjonen COUNTIF for å finne ut hvor mange ganger hver enkelt verdi vises i spesifisert område. I eksemplet ovenfor er resultatet av COUNTIF-funksjonen følgende matrise: {2;2;3;1;2;2;3;1;3}
.
Deretter utføres en rekke divisjonsoperasjoner, der hver verdi av matrisen brukes som en divisor med 1 som utbytte. Dette gjør alle duplikatverdier til brøktall som tilsvarer antall duplikatforekomster. For eksempel, hvis en verdi vises 2 ganger i listen, genererer den 2 elementer i matrisen med en verdi på 0,5 (1/2=0,5). Og hvis en verdi vises 3 ganger, produserer den 3 elementer i matrisen med en verdi på 0,3(3). I vårt eksempel er resultatet av 1/COUNTIF(A2:A10,A2:A10))
matrisen {0.5;0.5;0.3(3);1;0.5;0.5;0.3(3);1;0.3(3)}
.
Gir ikke mye mening så langt? Det er fordi vi ikke har brukt SUM / SUMPRODUCT-funksjonen ennå. Når en av disse funksjonene legger sammen verdiene i matrisen, gir summen av alle brøktall for hvert enkelt element alltid 1, uansett hvor mange forekomster av det elementet som finnes i listen. Ogfordi alle unike verdier vises i matrisen som 1-er (1/1=1), er det endelige resultatet returnert av formelen det totale antallet av alle forskjellige verdier i listen.
Formler for å telle forskjellige verdier av forskjellige typer
Som tilfellet er med å telle unike verdier i Excel, kan du bruke varianter av den grunnleggende Excel telle distinkte formelen for å håndtere spesifikke verdityper som tall, tekst og store og små bokstaver.
Husk at alle formlene nedenfor er matriseformler og krever å trykke Ctrl + Shift + Enter .
Tell distinkte verdier og ignorer tomme celler
Hvis en kolonne der du vil telle distinkte verdier kan inneholde tomme celler, bør du legge til en HVIS-funksjon som vil sjekke det spesifiserte området for tomrom (den grunnleggende Excel-formelen diskutert ovenfor vil returnere #DIV/0-feilen i dette tilfellet):
=SUM(HVIS(<1)>område "",1/COUNTIF( område , område ), 0))For å telle distinkte verdier i området A2:A10, bruk for eksempel følgende matriseformel :
=SUM(IF(A2:A10"",1/COUNTIF(A2:A10, A2:A10), 0))
Formel for å telle distinkte tekstverdier
For å telle distinkte tekstverdier i en kolonne, bruker vi samme tilnærming som vi nettopp har brukt for å ekskludere tomme celler.
Som du lett kan gjette, vil vi ganske enkelt bygge inn ISTEXT-funksjonen i vår distinkte formel for Excel-telling:
=SUM(IF(ISTEXT( område ),1/COUNTIF( område , område ),""))Og her er en virkelighetformeleksempel:
=SUM(IF(ISTEXT(A2:A10),1/COUNTIF(A2:A10, A2:A10),""))
Formel for å telle distinkte tall
For å telle distinkte numeriske verdier (tall, datoer og klokkeslett), bruk ISNUMBER-funksjonen:
=SUM (HVIS(ERNUMMER( område ),1/ANTALLHVIS( område , område ),""))For eksempel for å telle alle forskjellige tall i området A2:A10, bruk følgende formel:
=SUM(IF(ISNUMBER(A2:A10),1/COUNTIF(A2:A10, A2:A10),""))
Tell store og små bokstaver i forskjellige verdier i Excel
På samme måte som å telle store og små bokstaver, den enkleste måten å telle store og små bokstaver er å legge til en hjelpekolonne med matriseformelen som identifiserer unike verdier inkludert første dupliserte forekomster. Formelen er i utgangspunktet den samme som den vi brukte til å telle store og små bokstaver, med en liten endring i en cellereferanse som utgjør en stor forskjell:
=IF(SUM((--EXACT($A$2:$A2,$A2)))=1,"Distinct","")
Som du husker, alle matriseformler i Excel krever å trykke Ctrl + Shift + Enter.
Etter at formelen ovenfor er fullført, kan du telle "distinkte" verdier med en vanlig COUNTIF-formel som denne:
=COUNTIF(B2:B10, "distinct")
Hvis det ikke er mulig å legge til en hjelpekolonne i regnearket, kan du bruke følgende komplekse matriseformel for å telle store og små bokstaver uten å opprette en ekstra kolonne:
=SUM(IFERROR(1/IF($A$2:$A$10"", FREQUENCY(IF(EXACT($A$2:$A$10, TRANSPOSE($A$2:$A$10)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10))), 0), 0))
Telle unike og distinkte rader i Excel
Å telle unike/distinkte rader i Excel er beslektet med å telle unike og distinkte verdier, med den eneste forskjellat du bruker funksjonen COUNTIFS i stedet for COUNTIF, som lar deg spesifisere flere kolonner for å se etter unike verdier.
For eksempel for å telle unike eller distinkte navn basert på verdiene i kolonnene A (Fornavn) og B (Etternavn), bruk en av følgende formler:
Formel for å telle unike rader:
=SUM(IF(COUNTIFS(A2:A10,A2:A10, B2:B10,B2:B10)=1,1,0))
Formel for å telle distinkte rader:
=SUM(1/COUNTIFS(A2:A10,A2:A10,B2:B10,B2:B10))
Du er naturligvis ikke begrenset til å telle unike rader basert bare på to kolonner, Excel COUNTIFS-funksjonen kan behandle opp til 127 område/kriteriepar.
Tell distinkte verdier i Excel ved å bruke en pivottabell
De siste versjonene av Excel 2013 og Excel 2016 har en spesialfunksjon som gjør det mulig å telle distinkte verdier automatisk i en pivottabell. Følgende skjermbilde gir en ide om hvordan Excel Distinct Count ser ut:
For å lage en pivottabell med det distinkte antallet for en bestemt kolonne, utfør følgende trinn.
- Velg dataene som skal inkluderes i en pivottabell, bytt til Sett inn -kategorien, Tabeller -gruppen, og klikk på Pivottabell -knapp.
- I Opprett pivottabell -dialogen velger du om du vil plassere pivottabellen i et nytt eller eksisterende regneark, og pass på å velge Legg til disse dataene til avmerkingsboksen Datamodell .
Du kan også gi et egendefinert navn til Distinct Count hvis du vil.
Ferdig! Den nyopprettede pivottabellen vil vise det distinkte antallet som vist i det aller første skjermbildet i denne delen.
Tips. Etter å ha oppdatert kildedataene dine, husk å oppdatere pivottabellen for å få det distinkte antallet oppdatert. For å oppdatere en pivottabell klikker du bare på Oppdater -knappen på Analyser -fanen i Data -gruppen.
Dette er hvordan du teller distinkte og unike verdier i Excel. Hvis noen ønsker å se nærmere på formlene som er diskutert i denne opplæringen, er du velkommen til å laste ned prøven Excel Count Unique-arbeidsbok.
Jeg takker for at du leste og håper å se deg igjen neste uke. I den neste artikkelen skal vi diskutere ulike måter å finne, filtrere, trekke ut og fremheve unike verdier i Excel. Vær så snill