Tælle unikke værdier

Nogle gange har du brug for at vide antallet af unikke værdier i et celleområde. For eksempel antage, at en instruktør lærte følgende klasser:

104-120
104-101
104-119
104-120

I dette tilfælde er der tre unikke værdier. Der er ingen regneark funktion intuitiv, som vil returnere en optælling af unikke værdier, hvilket gør man tro, at en brugerdefineret funktion ville være den logiske fremgangsmåde. Men, kan du bruge en matrixformel at meget let udlede den ønskede information. Følg disse trin:

  1. Definer et navn, der repræsenterer det område, der indeholder din liste. (I dette eksempel antages det navn, du definerer, er MyRange.)
  2. I den celle, hvor du vil have antallet af unikke værdier skal vises skrive følgende formel, men ikke på Enter endnu:

    = SUM (1 / TÆL.HVIS (MyRange, MyRange))

  3. I stedet for at trykke Enter, tryk på Ctrl + Shift + Enter. Dette informerer Excel, du indtaster en matrixformel. Den vises i formellinjen skulle nu se ud som følger formel (bemærk tilføjelsen af ​​de omgivende parenteser, indikerer matrixformler):

    {= SUM (1 / TÆL.HVIS (MyRange, MyRange))}

    Det var det! Cellen indeholder nu antallet af unikke navn værdierne i det angivne interval. Denne fremgangsmåde ikke er case-sensitive, så hvis du har to værdier, der kun adskiller sig i deres kapitalisering (ThisName vs. THISNAME), er de begge tælles som én unik værdi. Desuden kan der ikke være nogen tomme celler i området. (Under en tom celle returnerer en # DIV / 0 fejl fra formlen.)

    Hvis dine særlige behov kræver, at din liste indeholder emner (men du ikke vil have dem tælles) og du vil evalueringen være små bogstaver, skal du henvende sig til en makro. Følgende makro, CountUnique, vil gøre det trick:

    Funktion CountUnique (ByVal MyRange Da Range) As Integer
    Dim celle som Range
    Dim J As Integer
    Dim iNumCells As Integer
    Dim iUVals As Integer
    Dim sUCells () As String

    iNumCells = MyRange.Count
    ReDim sUCells (iNumCells) As String

    iUVals = 0
    For hver celle i MyRange
    Hvis Cell.Text> "" Så
    For j = 1 til iUVals
    Hvis sUCells (J) = Cell.Text Så
    Exit For
    End hvis
    Næste J
    Hvis J> iUVals Then
    iUVals = iUVals + 1
    sUCells (iUVals) = Cell.Text
    End hvis
    End hvis
    Næste celle
    CountUnique = iUVals
    End Function

    Du skal blot sætte en ligning, der ligner følgende i en celle:

    = CountUnique (MyRange)

    Den returnerede værdi er antallet af unikke værdier, ikke tælle emner i området.

    ExcelTips er din kilde til omkostningseffektiv Microsoft Excel træning. Dette tip (2337) gælder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finde en version af dette tip til båndet grænseflade Excel (Excel 2007 og nyere) her: Tælle unikke værdier.


© 2019 Zajacperrone.com | Contact us: webmaster# zajacperrone.com