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:
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