Räkna unika och distinkta värden i Excel med formel eller pivottabell

  • Dela Detta
Michael Brown

I den här handledningen lär du dig hur du räknar unika värden i Excel med hjälp av formler och hur du får en automatisk räkning av unika värden i en pivottabell. Vi kommer också att diskutera ett antal formelexempel för att räkna unika namn, texter, siffror, unika värden som är känsliga för versaler med mera.

När du arbetar med ett stort dataset i Excel kan du ofta behöva veta hur många duplikat och unik värden finns där. Och ibland vill man kanske bara räkna de distinkt (olika) värden.

Om du besöker den här bloggen regelbundet känner du redan till Excel-formeln för att räkna dubbletter. Idag ska vi utforska olika sätt att räkna unika värden i Excel. Men för tydlighetens skull ska vi först definiera begreppen.

  • Unik värden - dessa värden visas endast en gång i listan.
  • Särskild värden - detta är alla olika värden i listan, dvs. unika värden plus första förekomsten av dubbla värden.

Följande skärmdump visar skillnaden:

Nu ska vi se hur du kan räkna unika och distinkta värden i Excel med hjälp av formler och PivotTable-funktioner.

    Hur man räknar unika värden i Excel

    Här är en vanlig uppgift som alla Excel-användare måste utföra ibland. Du har en lista med data och du måste ta reda på antalet unika värden i listan. Hur gör du det? Lättare än du tror :) Nedan hittar du några formler för att räkna unika värden av olika typer.

    Räkna unika värden i en kolumn

    Anta att du har en namnkolumn i ditt Excel-arbetsblad och att du behöver räkna unika namn i den kolumnen. Lösningen är att använda funktionen SUM i kombination med IF och COUNTIF:

    =SUMMA(IF(COUNTIF( sortiment , sortiment )=1,1,0))

    Obs Det här är en arrayformel, så tryck på Ctrl + Shift + Enter för att slutföra den. När du gör det kommer Excel automatiskt att omsluta formeln med {slingrande hakar} som i skärmdumpen nedan. Du ska aldrig skriva in de svängda hakar manuellt, det fungerar inte.

    I det här exemplet räknar vi unika namn i intervallet A2:A10, så formeln har följande form:

    =SUM(IF(COUNTIF(A2:A10,A2:A10)=1,1,0))

    Längre fram i den här handledningen kommer vi att diskutera en handfull andra formler för att räkna unika värden av olika typer. Och eftersom alla dessa formler är variationer av den grundläggande Excel-formeln för unika värden är det meningsfullt att bryta ner ovanstående formel, så att du kan förstå hur den fungerar och anpassa den till dina data. Om du inte är intresserad av teknikaliteter kan du hoppa direkt tillnästa exempel på formel.

    Hur Excel-formeln för att räkna unika värden fungerar

    Som du ser används tre olika funktioner i vår formel för unika värden - SUM, IF och COUNTIF. Om du tittar inifrån och ut kan du se vad varje funktion gör:

    • Funktionen COUNTIF räknar hur många gånger varje enskilt värde förekommer inom det angivna intervallet.

      I det här exemplet, COUNTIF(A2:A10,A2:A10) returnerar matrisen {1;2;2;1;2;2;2;1;2} .

    • IF-funktionen utvärderar varje värde i matrisen som returneras av COUNTIF, behåller alla 1:or (unika värden) och ersätter alla andra värden med nollor.

      Funktionen IF(COUNTIF(A2:A10,A2:A10)=1,1,0) blir IF(1;2;2;2;1;2;2;2;2;1;2) = 1,1,0, som blir till matrisen {1;0;0;1;0;0;0;1;0} där 1 är ett unikt värde och 0 är ett dubbelt värde.

    • Slutligen summerar SUM-funktionen värdena i matrisen som returneras av IF och ger ut det totala antalet unika värden, vilket är precis vad vi ville ha.

    Tips: Om du vill se vad en viss del av din formel för unika värden i Excel utvärderas till, markerar du den delen i formellfältet och trycker på F9.

    Räkna unika textvärden i Excel

    Om din Excel-lista innehåller både numeriska värden och textvärden och du vill räkna endast unika textvärden lägger du till ISTEXT-funktionen till den arrayformel som vi diskuterade ovan:

    =SUMMA(IF(ISTEXT(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))

    Som du vet returnerar Excel-funktionen ISTEXT TRUE om ett utvärderat värde är text, annars FALSE. Eftersom asterisken (*) fungerar som AND-operatorn i matrisformler returnerar IF-funktionen endast 1 om ett värde är både text och unikt, annars 0. När SUM-funktionen adderar alla 1:or får du ett antal unika textvärden i det angivna intervallet.

    Glöm inte att trycka på Ctrl + Shift + Enter för att skriva in formeln korrekt, så får du ett resultat som liknar det här:

    Som du kan se i skärmdumpen ovan returnerar formeln det totala antalet unika textvärden, exklusive tomma celler, siffror, logiska värden TRUE och FALSE samt fel.

    Räkna unika numeriska värden i Excel

    Om du vill räkna unika nummer i en datalista använder du en arrayformel som vi just använde för att räkna unika textvärden, med den enda skillnaden att du använder ISNUMBER i stället för ISTEXT i formeln för unika värden:

    =SUMMA(IF(ISNUMBER(A2:A10)*COUNTIF(A2:A10,A2:A10)=1,1,0))

    Eftersom Microsoft Excel lagrar datum och tider som serienummer räknas de också.

    Räkna unika värden som är skiftlägeskänsliga i Excel

    Om din tabell innehåller data som är känsliga för stora och små bokstäver är det enklaste sättet att räkna unika värden att skapa en hjälpkolumn med följande formel för att identifiera dubbletter och unika objekt:

    =IF(SUM((--EXACT($A$2:$A$10,A2)))=1, "Unik", "Dupe")

    Använd sedan en enkel COUNTIF-funktion för att räkna unika värden:

    =COUNTIF(B2:B10, "unik")

    Räkna distinkta värden i Excel (unika och 1:a dubblettförekomster)

    Om du vill få fram ett antal distinkta värden i en lista använder du följande formel:

    =SUMMA(1/RÄKNAR( sortiment , sortiment ))

    Kom ihåg att det är en arrayformel och att du därför ska trycka på genvägen Ctrl + Shift + Enter i stället för den vanliga Enter-tangenten.

    Alternativt kan du använda funktionen SUMPRODUCT och komplettera formeln på vanligt sätt genom att trycka på Enter:

    =SUMMAPRODUKT(1/COUNTIF( sortiment , sortiment ))

    Om du till exempel vill räkna de olika värdena i intervallet A2:A10 kan du använda antingen:

    =SUMMA(1/COUNTIF(A2:A10,A2:A10))

    Eller

    =SUMMAPRODUKT(1/COUNTIF(A2:A10,A2:A10))

    Hur Excel-formeln för särskiljning fungerar

    Som du redan vet använder vi funktionen COUNTIF för att ta reda på hur många gånger varje enskilt värde förekommer i det angivna intervallet. I exemplet ovan är resultatet av funktionen COUNTIF följande matris: {2;2;3;1;2;2;3;1;3} .

    Därefter utförs ett antal divisionsoperationer, där varje värde i matrisen används som divisor med 1 som utdelning. På så sätt omvandlas alla dubbletter till bråktal som motsvarar antalet dubbletter. Om ett värde till exempel förekommer två gånger i listan genererar det två poster i matrisen med värdet 0,5 (1/2=0,5). Om ett värde förekommer tre gånger genererar detger 3 objekt i matrisen med värdet 0,3(3). I vårt exempel är resultatet av 1/COUNTIF(A2:A10,A2:A10)) är matrisen {0.5;0.5;0.3(3);1;0.5;0.5;0.3(3);1;0.3(3)} .

    Om det inte verkar vettigt än så länge beror det på att vi inte har tillämpat funktionen SUM / SUMPRODUCT ännu. När någon av dessa funktioner summerar värdena i matrisen blir summan av alla bråkdelar för varje enskilt objekt alltid 1, oavsett hur många förekomster av det objektet som finns i listan. Och eftersom alla unika värden visas i matrisen som 1:or (1/1=1), blir det slutresultat som returneras av funktionenformeln är det totala antalet olika värden i listan.

    Formler för att räkna distinkta värden av olika typer

    Precis som när det gäller att räkna unika värden i Excel kan du använda variationer av den grundläggande Excel-formeln för att räkna olika värden för att hantera specifika typer av värden, t.ex. siffror, text och värden som är känsliga för stora och små bokstäver.

    Kom ihåg att alla nedanstående formler är arrayformler och kräver att du trycker på Ctrl + Shift + Enter .

    Räkna olika värden utan att ta hänsyn till tomma celler

    Om en kolumn där du vill räkna olika värden kan innehålla tomma celler bör du lägga till en IF-funktion som kontrollerar om det angivna intervallet innehåller tomma celler (den grundläggande Excel-formeln för olika värden som vi diskuterat ovan skulle ge felet #DIV/0 i det här fallet):

    =SUMMA(IF( sortiment """,1/COUNTIF( sortiment , sortiment ), 0))

    Om du till exempel vill räkna olika värden i intervallet A2:A10 använder du följande formel för matrisen:

    =SUMMA(IF(A2:A10""",1/COUNTIF(A2:A10, A2:A10), 0))

    Formel för att räkna olika textvärden

    För att räkna olika textvärden i en kolumn använder vi samma metod som vi just använde för att utesluta tomma celler.

    Som du lätt kan gissa kommer vi helt enkelt att bädda in ISTEXT-funktionen i vår formel för att särskilja antalet siffror i Excel:

    =SUMMA(IF(ISTEXT( sortiment ),1/COUNTIF( sortiment , sortiment ),""))

    Och här är ett exempel på en verklig formel:

    =SUMMA(IF(ISTEXT(A2:A10),1/COUNTIF(A2:A10, A2:A10),"""))

    Formel för att räkna olika tal

    Om du vill räkna olika numeriska värden (siffror, datum och tider) använder du funktionen ISNUMBER:

    =SUMMA(IF(ISNUMBER( sortiment ),1/COUNTIF( sortiment , sortiment ),""))

    Om du till exempel vill räkna alla olika tal i intervallet A2:A10 använder du följande formel:

    =SUMMA(IF(ISNUMBER(A2:A10),1/COUNTIF(A2:A10, A2:A10),""))

    Räkna skiftlägeskänsliga distinkta värden i Excel

    Det enklaste sättet att räkna unika värden som är skiftlägeskänsliga är att lägga till en hjälpkolumn med en formel för matrisen som identifierar unika värden, inklusive första dubblettförekomsten. Formeln är i princip densamma som den vi använde för att räkna unika värden som är skiftlägeskänsliga, med en liten ändring i en cellreferens som gör stor skillnad:

    =IF(SUM((--EXACT($A$2:$A2,$A2)))=1, "Distinct","")

    Som du minns kräver alla matrisformler i Excel att du trycker på Ctrl + Shift + Enter .

    När formeln ovan är klar kan du räkna "distinkta" värden med en vanlig COUNTIF-formel, till exempel så här:

    =COUNTIF(B2:B10, "distinkt")

    Om det inte finns något sätt att lägga till en hjälpkolumn i kalkylbladet kan du använda följande komplexa formel för matris för att räkna skilda värden som är skiftlägeskänsliga utan att skapa ytterligare en kolumn:

    =SUMMA(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), 0))))

    Räkna unika och distinkta rader i Excel

    Att räkna unika/skiljaktiga rader i Excel liknar att räkna unika och skilda värden, med den enda skillnaden att du använder funktionen COUNTIFS i stället för COUNTIF, som låter dig ange flera kolumner för att kontrollera om det finns unika värden.

    Om du till exempel vill räkna unika eller distinkta namn baserat på värdena i kolumnerna A (Förnamn) och B (Efternamn) använder du en av följande formler:

    Formel för att räkna unika rader:

    =SUM(IF(COUNTIFS(A2:A10,A2:A10, B2:B10,B2:B10)=1,1,0))

    Formel för att räkna distinkta rader:

    =SUM(1/COUNTIFS(A2:A10,A2:A10,B2:B10,B2:B10))

    Naturligtvis är du inte begränsad till att räkna unika rader baserat på endast två kolumner, Excel COUNTIFS-funktionen kan bearbeta upp till 127 intervall/kriteriepar.

    Räkna olika värden i Excel med hjälp av en PivotTable

    De senaste versionerna av Excel 2013 och Excel 2016 har en speciell funktion som gör det möjligt att räkna olika värden automatiskt i en pivottabell. Följande skärmdump ger en bild av hur Excel Antal särskiljande enheter ser ut som:

    Om du vill skapa en pivottabell med det distinkta antalet för en viss kolumn utför du följande steg.

    1. Välj de data som ska ingå i en pivottabell, växla till Infoga fliken, Tabeller gruppen och klicka på PivotTable knapp.
    2. I Skapa PivotTable dialogrutan, välj om du vill placera din pivottabell i ett nytt eller befintligt kalkylblad och se till att du väljer Lägg till dessa uppgifter i datamodellen kryssrutan.

  • När pivottabellen öppnas ordnar du områdena Rader, Kolumner och Värden på det sätt du vill. Om du inte har så mycket erfarenhet av Excel-pivottabeller kan följande detaljerade riktlinjer vara till hjälp: Skapa en pivottabell i Excel.
  • Flytta det fält vars distinkta antal du vill beräkna ( Artikel fältet i detta exempel) till fältet Värden området, klicka på det och välj Inställningar för fältvärden... från rullgardinsmenyn:
  • Inställningar för värdefält dialogfönstret öppnas, du rullar ner till Antal särskiljande enheter , som är det allra sista alternativet i listan, välj det och klicka på OK .
  • Du kan också ge ett eget namn till din distinkta räkning om du vill.

    Färdiga! Den nyss skapade pivottabellen visar det distinkta antalet som visas i den allra första skärmdumpen i det här avsnittet.

    Tips: När du har uppdaterat dina källdata ska du komma ihåg att uppdatera pivottabellen för att uppdatera det distinkta antalet. Om du vill uppdatera en pivottabell klickar du bara på Uppdatera på knappen på Analysera på fliken Uppgifter grupp.

    Så här räknar du distinkta och unika värden i Excel. Om någon vill titta närmare på de formler som diskuteras i den här handledningen är du välkommen att ladda ner Excel-arbetsboken Count Unique.

    Jag tackar dig för att du läste och hoppas att vi ses igen nästa vecka. I nästa artikel kommer vi att diskutera olika sätt att hitta, filtrera, extrahera och framhäva unika värden i Excel.

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.