Hur man räknar unik text i Excel

Anonim

Tja, vi har räknat unika värden med funktionen COUNTIF och SUMPRODUCT. Även om metoden är enkel men det är långsamt när data är stor. I den här artikeln lär vi oss hur man räknar unika textvärden i excel med en snabbare formel

Generisk formel för att räkna unika textvärden i excel

= SUMMA (-(FREKVENS (MATCH (intervall, intervall, 0), RAD (första_cell_in_område) +1)> 0))

Räckvidd : Intervallet från vilket du vill få unika värden.

firstCell i intervallet: Det är referensen för den första cellen i räckvidd. Om intervallet är A2: A10 är det A2.

Låt oss se ett exempel för att göra saker tydliga.

Exempel: Räkna unika textvärden Excel
I ett excelblad har jag dessa data med namn i intervall A2: A10. Jag vill få räkningen av unika namn från det givna intervallet.

Använd ovanstående generella formel här för att räkna unik text i excelintervall A2: A10. Jag har namngett A2: A10 som namn.

= SUMMA (-(FREKVENS (MATCH (namn, namn, 0), RAD (A2) +1)> 0))

Detta returnerar det totala antalet unika texter i intervall A2: A10.

Hur det fungerar?
Låt oss lösa det inifrån.

MATCH(namn, namn, 0): denna del returnerar den första platsen för varje värde i intervallet A2: A10 (namn) enligt MATCHs egendom.

{1;1;3;3;5;5;7;7;7}.

Nästa RAD (A2: A19): Detta returnerar radnumret för varje cell i intervall A2: A10.

{2;3;4;5;6;7;8;9;10}

RAD (namn) -ROW (A2): Nu subtraherar vi det första radnumret från varje radnummer. Detta returnerar matrisen med serienummer från 0.

{0;1;2;3;4;5;6;7;8}

Eftersom vi vill ha serienummer från 1, lägger vi till 1 i det.

RAD (namn) -ROW (A2) +1. Detta ger oss en rad serienummer från 1.

{1;2;3;4;5;6;7;8;9}

Detta hjälper oss att få en unik räkna på skick.
Nu har vi:

FREKVENS({1;1;3;3;5;5;7;7;7},{1;2;3;4;5;6;7;8;9}).

Detta returnerar frekvensen för varje nummer i en given matris. {2; 0; 2; 0; 2; 0; 3; 0; 0; 0}

Här indikerar varje positivt tal förekomst av unikt värde när kriterier är uppfyllda. Vi måste räkna värden som är större än 0 i denna array. För det kontrollerar vi det med> 0. Detta returnerar SANT och FALSKT. Vi konverterar true false med - (dubbel binär operator).

BELOPP(--({2;0;2;0;2;0;3;0;0;0})>0) detta översätts tillBELOPP({1;0;1;0;1;0;1;0;0;0})

Och slutligen får vi det unika antalet namn inom intervallet på kriterier som 4.

Hur räknar man unik text i intervall med tomma celler?

Problemet med ovanstående formel är att när du har en tom cell inom intervallet kommer det att visa #N/A -fel. För att hantera detta måste vi sätta ett villkor för att kontrollera tomma celler.

= SUMMA (-(FREKVENS (OM (namn “”, MATCH (namn, namn, 0)), RAD (A2) +1)> 0))

Detta ger korrekt utmatning. Här har vi inkapslat MATCH med IF -funktion. Du kan läsa hela förklaringen i artikeln Hur man räknar unika värden i Excel med flera kriterier?

Så ja killar, så här kan du få unikt textantal i excel. Låt mig veta om du har några tvivel angående detta eller något annat avancerat excel/vba -ämne. Kommentarsektionen är öppen för dig.
Nedladdning fil:

Hur man räknar unik text i Excel

Relaterade artiklar:

Hur man räknar unika värden i Excel med kriterier

Excel -formel för att extrahera unika värden från en lista

Räkna unika värden i Excel
Populära artiklar:

VLOOKUP -funktionen i Excel

COUNTIF i Excel 2016

Hur man använder SUMIF -funktionen i Excel