
Generisk formel
=COUNTA(UNIQUE(data))
Sammanfattning
För att räkna unika värden i en uppsättning data kan du använda UNIQUE-funktionen tillsammans med COUNTA-funktionen. I exemplet som visas är formeln i F5:
=COUNTA(UNIQUE(B5:B16))
som returnerar 7, eftersom det finns sju unika färger i B5: B16.
Förklaring
I det här exemplet används funktionen UNIK för att extrahera unika värden. När UNIQUE förses med intervallet B5: B16, som innehåller 12 värden, returneras de 7 unika värdena som ses i D5: D11. Dessa returneras direkt till COUNTA-funktionen som en matris så här:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
Till skillnad från COUNT-funktionen, som bara räknar siffror, räknar COUNTA både text och siffror. Eftersom det finns sju objekt i matrisen returnerar COUNTA 7. Denna formel är dynamisk och kommer att beräkna omedelbart när källdata ändras.
Med en cellreferens
Du kan också hänvisa till en lista över unika värden som redan har extraherats till kalkylbladet med UNIQUE-funktionen med en speciell typ av cellreferens. Formeln i D5 är:
=UNIQUE(B5:B16)
som returnerar de sju värdena som ses i D5: D11. För att räkna dessa värden med en dynamisk referens kan du använda en sådan formel:
=COUNTA(D5#)
Hashtecknet (#) ber Excel att hänvisa till det spillintervall som skapats av UNIQUE. Liksom allt-i-ett-formeln ovan är denna formel dynamisk och anpassar sig när data läggs till eller tas bort från det ursprungliga intervallet.
Räkna unika ignorera ämnen
För att räkna unika värden medan du ignorerar tomma celler kan du lägga till FILTER-funktionen så här:
=COUNTA(UNIQUE(FILTER(data,data"")))
Detta tillvägagångssätt förklaras mer detaljerat här. Du kan också filtrera unika värden med kriterier.
Inga data
En begränsning av denna formel är att felaktigt returnerar 1 om det inte finns några värden i dataområdet. Detta alternativ kommer att räkna alla värden som returneras av UNIQUE och som har en längd som är större än noll. Med andra ord kommer alla värden att räknas med minst ett tecken:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Här används LEN-funktionen för att kontrollera längden på resultaten från UNIQUE. Längderna kontrolleras sedan för att se om de är större än noll och resultaten räknas med SUM-funktionen. Detta är ett exempel på boolesk logik. Denna formel utesluter också tomma celler från resultaten.
Dynamiskt källområde
UNIQUE ändrar inte automatiskt källområdet om data läggs till eller tas bort. För att ge UNIQUE ett dynamiskt omfång som automatiskt ändras efter behov kan du använda en Excel-tabell eller skapa ett dynamiskt namnområde med en formel.
Inga dynamiska matriser
Om du använder en äldre version av Excel utan stöd för dynamisk matris, här är några alternativ.