Excel-formule: tel unieke numerieke waarden in een bereik -

Inhoudsopgave

Generieke formule

=SUM(--(FREQUENCY(data,data)>0))

Samenvatting

Om unieke numerieke waarden in een bereik te tellen, kunt u een formule gebruiken die is gebaseerd op de functies FREQUENCY en SOM. In het getoonde voorbeeld verschijnen de personeelsnummers in het bereik B5: B14. De formule in F5 is:

=SUM(--(FREQUENCY(B5:B14,B5:B14)>0))

wat 4 retourneert, aangezien er 4 unieke werknemer-ID's in de lijst staan.

Uitleg

Opmerking: vóór Excel 365 had Excel geen speciale functie om unieke waarden te tellen. Deze formule toont een manier om unieke waarden te tellen, zolang ze numeriek zijn. Als u tekstwaarden of een combinatie van tekst en cijfers heeft, moet u een ingewikkelder formule gebruiken.

De Excel-functie FREQUENTIE retourneert een frequentieverdeling, een overzichtstabel die de frequentie van numerieke waarden weergeeft, georganiseerd in "bakken". We gebruiken het hier als een omweg om unieke numerieke waarden te tellen.

We werken van binnen naar buiten en leveren dezelfde reeks getallen voor zowel de datarray als de bins-array aan FREQUENCY:

FREQUENCY(B5:B14,B5:B14)

FREQUENCY retourneert een matrix met een telling van elke numerieke waarde in het bereik:

(4;0;0;0;2;0;1;3;0;0;0)

Het resultaat is een beetje cryptisch, maar de betekenis is dat 905 vier keer verschijnt, 773 twee keer, 801 één keer en 963 drie keer.

FREQUENCY heeft een speciale functie die automatisch nul retourneert voor alle getallen die al in de gegevensmatrix zijn verschenen, daarom zijn waarden nul zodra een getal is aangetroffen.

Vervolgens wordt getest dat elk van deze waarden groter is dan nul:

(4;0;0;0;2;0;1;3;0;0;0)>0

Het resultaat is een array als deze:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE)

Elke TRUE vertegenwoordigt een uniek nummer in de lijst. De SOM negeert standaard logische waarden, dus we dwingen TRUE en FALSE waarden naar 1s en 0s met een dubbele negatieve (-), wat het volgende oplevert:

=SUM((1;0;0;0;1;0;1;1;0;0;0))

Ten slotte telt SUM deze waarden op en retourneert het totaal, wat in dit geval 4 is.

Opmerking: u kunt ook SOMPRODUCT gebruiken om de items in de array op te tellen.

Gebruik AANTAL.ALS in plaats van FREQUENCY om unieke waarden te tellen

Een andere manier om unieke numerieke waarden te tellen, is door AANTAL.ALS te gebruiken in plaats van FREQUENTIE. Dit is een eenvoudigere formule, maar pas op dat het gebruik van AANTAL.ALS op grotere gegevenssets om unieke waarden te tellen, prestatieproblemen kan veroorzaken. De FREQUENCY-formule, hoewel ingewikkelder, berekent veel sneller.

Goede links

Mike Girvin's boek Control-Shift-Enter

Interessante artikelen...