Naar de inhoud
ExcelOefeningen

Unieke waarden tellen in Excel

Bijgewerkt op

Unieke waarden tel je in Excel 365 en Excel 2021 met =AANTALARG(UNIEK(A2:A100)): UNIEK maakt een lijst waarin elke waarde één keer staat en AANTALARG telt hoeveel dat er zijn. In oudere versies gebruik je =SOMPRODUCT(1/AANTAL.ALS(A2:A100;A2:A100)). Wil je alleen binnen een groep tellen, zet dan FILTER binnen UNIEK.

Uniek tellen met UNIEK en AANTALARG

In Excel 365 en Excel 2021 is uniek tellen een korte formule:

=AANTALARG(UNIEK(B2:B100))

De formule werkt van binnen naar buiten. UNIEK maakt van het bereik een lijst waarin elke waarde één keer voorkomt. Die lijst zie je niet, want hij blijft binnen de formule. AANTALARG telt daarna hoeveel waarden er in die lijst staan.

Staan er in een orderlijst acht regels van vijf verschillende klanten, dan geeft de formule 5.

AANTALARG telt tekst en getallen, dus de formule werkt ook voor klantnummers of postcodes. Je kunt ook =RIJEN(UNIEK(B2:B100)) gebruiken. RIJEN telt het aantal rijen van de lijst en geeft dezelfde uitkomst.

UNIEK maakt geen verschil tussen hoofdletters en kleine letters. Jansen en JANSEN tellen als één klant.

Verschillende waarden of waarden die één keer voorkomen?

Met uniek kun je twee dingen bedoelen, en Excel kan ze allebei tellen:

  • Verschillende waarden: elke waarde telt één keer mee, hoe vaak hij ook voorkomt. Dat telt =AANTALARG(UNIEK(B2:B100)).
  • Waarden die precies één keer voorkomen: waarden die vaker in de lijst staan, tellen helemaal niet mee.

Voor de tweede vraag zet je WAAR als derde argument van UNIEK:

=AANTALARG(UNIEK(B2:B100;ONWAAR;WAAR))

Het tweede argument ONWAAR betekent dat UNIEK rijen met elkaar vergelijkt, zoals normaal. Je mag het ook leeg laten met twee puntkomma's achter elkaar.

Dit is handig voor vragen als: hoeveel klanten hebben maar één keer besteld? Of: welke artikelnummers komen maar één keer voor in de voorraadlijst?

Unieke waarden tellen met een voorwaarde

Wil je alleen binnen een groep tellen, bijvoorbeeld het aantal verschillende klanten in regio Noord, zet dan FILTER binnen UNIEK:

=AANTALARG(UNIEK(FILTER(B2:B100;C2:C100="Noord")))

FILTER haalt eerst alle klanten uit Noord op. UNIEK haalt daar de dubbelen uit en AANTALARG telt wat er overblijft. Zet de regio liever in een cel, zoals F1, en schrijf C2:C100=F1. Dan wissel je van regio door alleen F1 aan te passen.

Meerdere voorwaarden vermenigvuldig je met een sterretje: FILTER(B2:B100;(C2:C100="Noord")*(D2:D100>500)).

Let op: vindt FILTER niets, dan geeft het een foutmelding en AANTALARG telt die als 1. Vang dat op met ALS:

=ALS(AANTAL.ALS(C2:C100;F1)=0;0;AANTALARG(UNIEK(FILTER(B2:B100;C2:C100=F1))))

Unieke waarden tellen in oudere Excel

UNIEK en FILTER bestaan niet in Excel 2019 en ouder. Daar krijg je #NAAM?. Gebruik dan deze formule:

=SOMPRODUCT(1/AANTAL.ALS(B2:B100;B2:B100))

Zo werkt het. AANTAL.ALS telt voor elke cel hoe vaak die waarde in het bereik voorkomt. Staat Jansen er drie keer in, dan krijgt elke Jansen een 3. Met 1/ wordt dat drie keer een derde, en samen is dat precies 1. Zo telt elke waarde één keer mee, en SOMPRODUCT telt alles op.

Staan er lege cellen in het bereik, dan krijg je #DEEL/0!. Gebruik dan:

=SOMPRODUCT((B2:B100<>"")/AANTAL.ALS(B2:B100;B2:B100&""))

Bij lijsten met duizenden rijen wordt deze formule traag. Zet de kolom dan in een draaitabel bij Rijen. Het aantal rijen in de draaitabel is het aantal unieke waarden.

Lege cellen en verschillen in schrijfwijze

Twee dingen maken de telling vaak te hoog.

Lege cellen. Staat er een lege cel in het bereik, dan neemt UNIEK die mee als extra waarde. In de lijst zie je dan een 0, en AANTALARG telt er één te veel. Filter de lege cellen eruit:

=AANTALARG(UNIEK(FILTER(B2:B100;B2:B100<>"")))

Dat is ook handig als je het bereik ruim neemt, zodat nieuwe regels vanzelf meetellen.

Verschillen die je niet ziet. Bakkerij Vos met een spatie erachter is voor Excel een andere waarde dan Bakkerij Vos zonder spatie. Hetzelfde geldt voor Garage Smit en Garage Smit BV. Maak de kolom eerst schoon met SPATIES.WISSEN en spreek één vaste schrijfwijze af. Hoofdletters maken niet uit.

Voorbeelden

Hoeveel verschillende klanten?

Een groothandel wil weten van hoeveel verschillende klanten de orders in de lijst komen.

=AANTALARG(UNIEK(B2:B9)) in cel E2

E2
ABCDEF
1OrderKlantRegioAantal klanten
2O-101Bakkerij VosNoord5
3O-102Garage SmitZuid
4O-103Bakkerij VosNoord
5O-104Café De HoekNoord
6O-105Garage SmitZuid
7O-106Bloemenhuis JansenZuid
8O-107Bakkerij VosNoord
9O-108Drukkerij KokZuid
10
11

Klik op cel E2 om de formule te zien of aan te passen.

Er staan acht orders in de lijst, van vijf verschillende klanten.

Unieke klanten in één regio

Dezelfde orderlijst, maar nu tel je alleen de klanten uit de regio in F1. FILTER staat binnen UNIEK.

=AANTALARG(UNIEK(FILTER(B2:B9;C2:C9=F1))) in cel F2

F2
ABCDEFG
1OrderKlantRegioRegioNoord
2O-101Bakkerij VosNoordUnieke klanten2
3O-102Garage SmitZuid
4O-103Bakkerij VosNoord
5O-104Café De HoekNoord
6O-105Garage SmitZuid
7O-106Bloemenhuis JansenZuid
8O-107Bakkerij VosNoord
9O-108Drukkerij KokZuid
10
11

Klik op cel F2 om de formule te zien of aan te passen.

In Noord staan vier orders van maar twee klanten: Bakkerij Vos en Café De Hoek. Typ Zuid in F1 en de uitkomst wordt 3.

Klanten die maar één keer bestelden

Met WAAR als derde argument van UNIEK tel je alleen de klanten die precies één keer in de lijst staan.

=AANTALARG(UNIEK(B2:B9;ONWAAR;WAAR)) in cel E2

E2
ABCDEF
1OrderKlantEenmalige klanten
2O-101Bakkerij Vos3
3O-102Garage Smit
4O-103Bakkerij Vos
5O-104Café De Hoek
6O-105Garage Smit
7O-106Bloemenhuis Jansen
8O-107Bakkerij Vos
9O-108Drukkerij Kok
10
11

Klik op cel E2 om de formule te zien of aan te passen.

Café De Hoek, Bloemenhuis Jansen en Drukkerij Kok bestelden één keer. Bakkerij Vos en Garage Smit vallen af, want die staan er vaker in.

Veelgemaakte fouten

  • Lege cellen in het bereik

    UNIEK telt een lege cel als extra waarde, dus je uitkomst is één te hoog. Gebruik =AANTALARG(UNIEK(FILTER(B2:B100;B2:B100<>""))).

  • FILTER vindt niets en toch staat er 1

    Zonder resultaat geeft FILTER een foutmelding, en AANTALARG telt die als 1. Zet er een ALS omheen die eerst met AANTAL.ALS controleert of de voorwaarde voorkomt.

  • #NAAM? in een oudere Excel

    UNIEK en FILTER zitten alleen in Excel 365 en Excel 2021 of nieuwer. Gebruik in oudere versies =SOMPRODUCT(1/AANTAL.ALS(B2:B100;B2:B100)).

  • Dezelfde klant telt twee keer

    Er zit een verschil in de schrijfwijze, zoals een spatie aan het eind. Maak de kolom schoon met SPATIES.WISSEN voordat je telt.

Oefen het zelf

Lezen is één, het zelf typen is wat blijft hangen. Deze lessen gaan erover:

Veelgestelde vragen

Hoe tel ik unieke waarden in Excel?

In Excel 365 en 2021 gebruik je =AANTALARG(UNIEK(A2:A100)). Elke waarde telt dan één keer mee, hoe vaak hij ook voorkomt.

Hoe tel ik unieke waarden met een voorwaarde?

Zet FILTER binnen UNIEK: =AANTALARG(UNIEK(FILTER(A2:A100;B2:B100="Noord"))). Je telt dan alleen de unieke waarden uit regio Noord.

Hoe tel ik unieke waarden zonder de functie UNIEK?

Gebruik =SOMPRODUCT(1/AANTAL.ALS(A2:A100;A2:A100)). Die formule werkt ook in Excel 2019 en ouder, zolang er geen lege cellen in het bereik staan.

Hoe tel ik waarden die maar één keer voorkomen?

Zet WAAR als derde argument van UNIEK: =AANTALARG(UNIEK(A2:A100;ONWAAR;WAAR)). Waarden die vaker voorkomen, tellen dan niet mee.

Ziet UNIEK hoofdletters als verschillend?

Nee. Jansen en JANSEN tellen als dezelfde waarde. Een spatie aan het eind maakt wel verschil.

Gerelateerde functies