AANTAL.ALS
COUNTIF in Engelstalige Excel
Telt hoeveel cellen in een bereik aan één voorwaarde voldoen, zoals gelijk aan een waarde, boven een getal of beginnend met bepaalde letters.
Laatst bijgewerkt: 15 oktober 2026
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Dagboek | MEM | |
| 2 | 25-0401 | VRK | Boekingen | 33=AANTAL.ALS(B2:B8, E1)=AANTAL.ALS(B2:B8; E1) | |
| 3 | 25-0402 | MEM | |||
| 4 | 25-0403 | INK | |||
| 5 | 25-0404 | MEM | |||
| 6 | 25-0405 | BNK | |||
| 7 | 25-0406 | VRK | |||
| 8 | 25-0407 | MEM |
Veeg opzij om alle kolommen te zien
Resultaat: 3
=AANTAL.ALS(B2:B8,E1)
=AANTAL.ALS(B2:B8;E1)
Wat AANTAL.ALS doet en wanneer je het gebruikt
Wat het doet: het telt de cellen in een bereik die aan één criterium voldoen, bijvoorbeeld de boekingsregels die handmatige MEM-boekingen zijn.
Wanneer je het gebruikt: voor tellingen naast een lijst, om te controleren of een waarde voorkomt, of om dubbelen te markeren (een aantal boven 1). In de voorwaarde mag je jokertekens en vergelijkingen gebruiken. Voor twee of meer voorwaarden gebruik je AANTALLEN.ALS.
Hoe Excel de functie berekent
Excel kijkt eerst naar het criterium en splitst het in een operator en een waarde: ">=30" wordt 'groter dan of gelijk aan' en 30; een criterium zonder operator betekent 'gelijk aan'. Lijkt de waarde op een getal, dan vergelijkt Excel numeriek; anders vergelijkt het tekst, zonder op hoofdletters te letten en met * en ? als jokertekens.
Daarna test het elke cel in het bereik en telt het 1 op voor elke cel die voldoet. Cellen waarvan het type niet bij de vergelijking past, zoals tekst bij een getaltest, zakken voor de test.
Let op: AANTAL.ALS leest een criterium dat alleen uit cijfers bestaat als getal, dus referenties of codes van meer dan 15 cijfers worden op hun eerste 15 cijfers vergeleken en kunnen als gelijk worden geteld.
Denkmodel
Een teller bij een deur met één regel op een kaartje. Elke cel loopt langs, de portier kijkt op het kaartje, en de teller klikt alleen bij de cellen die eraan voldoen.
Begrippen op deze pagina: criteria, jokerteken, operator, bereik, cel
AANTAL.ALS(bereik,criterium)
AANTAL.ALS(bereik;criterium)
| Argument | Soort | Betekenis |
|---|---|---|
bereik | Verplicht | De cellen die worden getest. |
criterium | Verplicht | De voorwaarde waaraan een cel moet voldoen om mee te tellen. |
Geeft terug:Een geheel getal: hoeveel cellen in bereik aan criterium voldoen
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
Handmatige memoriaalboekingen in het dagboek tellen
Je hebt het XAF-auditfile van Veldhuis Installatie BV als werkblad gekregen, met één rij per boeking. Voor de journaalpostentest wil je weten hoeveel boekingen handmatig in het memoriaal MEM zijn gemaakt. Je wilt een cel waarin je een dagboekcode invult en het aantal ziet.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Dagboek | MEM | ||
| 2 | 25-0401 | VRK | Boekingen | 33=AANTAL.ALS(B2:B8, E1)=AANTAL.ALS(B2:B8; E1) | ||
| 3 | 25-0402 | MEM | ||||
| 4 | 25-0403 | INK | ||||
| 5 | 25-0404 | MEM | ||||
| 6 | 25-0405 | BNK | ||||
| 7 | 25-0406 | VRK | ||||
| 8 | 25-0407 | MEM | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in E2
=AANTAL.ALS(B2:B8,E1)
=AANTAL.ALS(B2:B8;E1)
Resultaat: 33
Stap voor stap
- In
E1staatMEM. Er staat geen operator bij, dus het criterium betekent 'gelijk aanMEM'. - Excel test elke cel van
B2:B8:B2nee (VRK),B3ja,B4nee (INK),B5ja,B6nee (BNK),B7nee (VRK),B8ja. - Drie cellen voldoen,
B3,B5enB8, dus AANTAL.ALS geeft 3. - Zet
E1opVRKen het resultaat wordt 2 (B2enB7), zonder dat je de formule aanpast.
Let op: Een export die MEM met een spatie erachter bewaart, telt niet mee, en je onderschat het aantal handmatige boekingen dat je moet testen. LENGTE op de cel laat het extra teken zien.
Meer over dit voorbeeld: waarom het werkt
Waarom het werkt
Een criterium dat alleen een celverwijzing is, betekent 'gelijk aan de waarde in die cel', en tekstvergelijking is niet hoofdlettergevoelig, dus mem in kleine letters telt even goed mee. AANTAL.ALS telt alleen; een hulpkolom is nooit nodig.
Halfgevorderd
Boekingsregels per soort relatie tellen via het begin van de code
In de export van het grootboek begint de relatiecode met het soort relatie: D1 voor klanten (debiteuren), C2 voor leveranciers (crediteuren). Eén code is in kleine letters getypt, en een intercompanyrelatie heeft de code DIC-01, die ook met een D begint. Je wilt per voorvoegsel het aantal regels in een klein overzicht naast de lijst, naar beneden gekopieerd.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Factuurnummer | Relatie | Voorvoegsel | Aantal | ||
| 2 | F-2501 | D1001 | D1 | 44=AANTAL.ALS($B$2:$B$8, D2 & "*")=AANTAL.ALS($B$2:$B$8; D2 & "*") | ||
| 3 | F-2502 | C2001 | C2 | |||
| 4 | F-2503 | D1002 | ||||
| 5 | F-2504 | d1004 | ||||
| 6 | F-2505 | DIC-01 | ||||
| 7 | F-2506 | C2002 | ||||
| 8 | F-2507 | D1005 | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in E2
=AANTAL.ALS($B$2:$B$8,D2 & "*")
=AANTAL.ALS($B$2:$B$8;D2 & "*")
Resultaat: 44
Stap voor stap
- Excel bouwt het criterium:
D2bevatD1, en & "*" voegt een jokerteken toe, zodat de tekstD1*ontstaat: 'begint metD1, gevolgd door wat dan ook'. - Excel test
B2:B8:D1001ja;C2001nee;D1002ja;d1004ja, omdat de vergelijking niet hoofdlettergevoelig is;DIC-01nee, omdat het tweede teken een I is en geen 1;C2002nee;D1005ja. - Vier cellen voldoen, dus AANTAL.ALS geeft 4.
- Zonder & "*" zou het criterium alleen
D1zijn, en dat betekent 'preciesD1'. Geen enkele relatiecode is precies dat, dus het resultaat zou 0 zijn. - In
E3wordt het criteriumC2*en het aantal is 2 (C2001enC2002). Door de$-tekens bleef de lijstB2:B8.
Let op: Jokertekens werken alleen op tekst. Waren sommige relatiecodes kale getallen, dan zou een patroon als 10* ze niet tellen.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Door een cel met een jokerteken te koppelen, wordt een vast voorvoegsel een herbruikbaar patroon, zodat één formule elke rij van het overzicht bedient. Het voorvoegsel D1 in plaats van D houdt de intercompanycode DIC-01 buiten de telling; het patroon D* zou die als klant tellen.
Meer om op te letten
- Een voorvoegselcel met een spatie erachter,
D1, bouwtD1 *en telt niets.
Varianten
=AANTAL.ALS($B$2:$B$8,"*" & D2 & "*")
=AANTAL.ALS($B$2:$B$8;"*" & D2 & "*")
Bevat in plaats van begint met: een jokerteken aan beide kanten vindt de tekst overal in de cel.
Gevorderd
Aantal verschillende debiteuren voor bevestigingsbrieven
Je hebt de openstaande facturen per jaareinde geselecteerd voor debiteurenbevestigingen en wilt weten hoeveel brieven je moet versturen: één per debiteur, niet één per factuur. Meerdere debiteuren hebben meer dan één factuur, en één relatiecode is in kleine letters getypt. Een klassieke opbouw combineert AANTAL.ALS met SOMPRODUCT om elke debiteur één keer te tellen.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Factuurnummer | Relatie | Verschillende debiteuren | ||
| 2 | V-2601 | D1001 | 44=SOMPRODUCT(1 / AANTAL.ALS(B2:B9, B2:B9))=SOMPRODUCT(1 / AANTAL.ALS(B2:B9; B2:B9)) | ||
| 3 | V-2602 | D1002 | |||
| 4 | V-2603 | D1001 | |||
| 5 | V-2604 | D1003 | |||
| 6 | V-2605 | D1002 | |||
| 7 | V-2606 | D1004 | |||
| 8 | V-2607 | d1001 | |||
| 9 | V-2608 | D1003 | |||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in D2
=SOMPRODUCT(1 / AANTAL.ALS(B2:B9,B2:B9))
=SOMPRODUCT(1 / AANTAL.ALS(B2:B9;B2:B9))
Resultaat: 44
Stap voor stap
- Het argument criterium is het bereik
B2:B9zelf, dus AANTAL.ALS telt acht keer, één keer per relatiecode, en levert acht aantallen op. D1001komt 3 keer voor, inclusiefd1001, omdat hoofdletters niet tellen;D10022 keer;D10032 keer;D1004één keer. De matrix is {3; 2; 3; 2; 2; 1; 3; 2}.- 1 / die matrix geeft elke rij een aandeel: {1/3; 1/2; 1/3; 1/2; 1/2; 1; 1/3; 1/2}.
- De aandelen van elke debiteur tellen op tot precies 1:
D10011/3 + 1/3 + 1/3 = 1,D10021/2 + 1/2 = 1,D10031/2 + 1/2 = 1,D10041. - SOMPRODUCT telt alle acht aandelen op: 1 + 1 + 1 + 1 = 4 verschillende debiteuren, dus je verstuurt 4 brieven.
- Zet
B8opD1005.D1001komt nu twee keer voor, dus de twee aandelen zijn elk 1/2,D1005krijgt 1, en het resultaat wordt 5.
Let op: Een lege cel in B2:B9 laat AANTAL.ALS voor die rij 0 geven, en 1 / 0 maakt van het hele resultaat #DEEL/0!. Gebruik SOMPRODUCT((B2:B9 <> "") / AANTAL.ALS(B2:B9; B2:B9 & "")) als er lege cellen kunnen voorkomen.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
Een waarde die n keer voorkomt, krijgt n aandelen van 1/n, dus elke afzonderlijke waarde draagt precies 1 bij aan het totaal, hoe vaak hij ook terugkomt. SOMPRODUCT wordt gebruikt omdat het in elke Excel-versie een matrix optelt zonder speciale invoer.
Meer om op te letten
- Stilletjes fout:
D1003met een spatie erachter telt als vijfde debiteur, terwijld1001samenvalt metD1001. Hoofdletters worden vergeven, spaties niet. - AANTAL.ALS over zijn eigen bereik is n × n vergelijkingen. Bij een grootboek van 50,00050.000 regels zijn dat 2,5 miljard tests, en het werkblad loopt vast.
Varianten
=RIJEN(UNIEK(B2:B9))
=RIJEN(UNIEK(B2:B9))
Excel 365: UNIEK verwijdert de herhalingen (ook zonder op hoofdletters te letten) en RIJEN telt wat overblijft. Snel en leesbaar.
=ALS(AANTAL.ALS($B$2:$B$9,B2) > 1, "Meerdere facturen", "")
=ALS(AANTAL.ALS($B$2:$B$9;B2) > 1; "Meerdere facturen"; "")
Naast elke rij gezet en doorgekopieerd markeert dezelfde AANTAL.ALS debiteuren met meer dan één openstaande factuur.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Dubbele bankreferenties van 18 cijfers opsporen
Een export van een bankafschrift bevat transactiereferenties van 18 cijfers, opgeslagen als tekst. Je wilt een kolom die referenties markeert die twee keer zijn verwerkt, als aanwijzing voor dubbele betalingen. De voor de hand liggende AANTAL.ALS markeert elke rij, omdat AANTAL.ALS tekst met alleen cijfers omzet in een getal en Excel maar 15 significante cijfers bewaart. De oplossing moet een tekstvergelijking afdwingen.
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Bankreferentie | Bedrag | Controle | |
| 2 | 370123450000081501 | €4,200.00€ 4.200,00 | Uniek=LET( nummers, A2:A7, treffers, AANTAL.ALS(nummers, nummers & "*"), ALS(treffers > 1, "Dubbel", "Uniek") )=LET( nummers; A2:A7; treffers; AANTAL.ALS(nummers; nummers & "*"); ALS(treffers > 1; "Dubbel"; "Uniek") ) | |
| 3 | 370123450000081502 | €1,250.00€ 1.250,00 | Dubbel | |
| 4 | 370123450000081517 | €3,780.50€ 3.780,50 | Uniek | |
| 5 | 370123450000081502 | €1,250.00€ 1.250,00 | Dubbel | |
| 6 | 370123450000094220 | €960.00€ 960,00 | Uniek | |
| 7 | 370123450000094231 | €2,115.25€ 2.115,25 | Uniek | |
| 8 |
Veeg opzij om alle kolommen te zien
Formule in C2
=LET( nummers,A2:A7, treffers, AANTAL.ALS(nummers, nummers & "*"), ALS(treffers > 1, "Dubbel", "Uniek") )
=LET( nummers;A2:A7; treffers; AANTAL.ALS(nummers; nummers & "*"); ALS(treffers > 1; "Dubbel"; "Uniek") )
Resultaat: Uniek / Dubbel / Uniek / Dubbel / Uniek / UniekUniek / Dubbel / Uniek / Dubbel / Uniek / Uniek
Stap voor stap
- LET geeft de referenties een naam: nummers is
A2:A7. nummers & "*" bouwt zes patronen, zoals370123450000081501*. Het sterretje maakt van elk criterium een patroon met een jokerteken, en zulke patronen worden altijd als tekst vergeleken. - AANTAL.ALS telt één keer per patroon. Bij de eerste referentie komt alleen
A2op alle 18 tekens overeen, dus het aantal is 1. Bij de tweede komenA3enA5overeen, dus het aantal is 2. - treffers wordt {1; 2; 1; 2; 1; 1}.
- ALS maakt van elk aantal boven 1 Dubbel en van de rest Uniek. De zes resultaten lopen over in
C2:C7: rij 3 en 5 worden als Dubbel gemarkeerd, beide met het bedrag 1,250.001.250,00, een aanwijzing die je opvolgt. - Vergelijk de voor de hand liggende AANTAL.ALS(nummers; nummers). Elk criterium met alleen cijfers wordt als getal gelezen en afgerond op 15 significante cijfers. De eerste vier referenties beginnen allemaal met 370123450000081 en worden gelijk, dus de aantallen zijn {4; 4; 4; 4; 2; 2} en elke rij wordt als Dubbel gemarkeerd.
Let op: De omgekeerde fout: AANTAL.ALS(nummers; nummers) zonder sterretje. Het lijkt op de gangbare controle op dubbele waarden en werkt bij korte referenties, maar hier markeert het alle zes rijen als Dubbel.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
AANTAL.ALS kiest tussen een getal- en een tekstvergelijking door naar het criterium te kijken. Door * toe te voegen is het criterium geen getal meer, dus worden alle 18 tekens vergeleken, en omdat alle referenties even lang zijn, kan het patroon niet op een langere referentie passen. Door het hele bereik als criterium mee te geven, geeft AANTAL.ALS één aantal per rij, en LET houdt de regel leesbaar in één overlopende formule.
Gebruik deze opbouw niet op tienduizenden rijen: hij doet n × n vergelijkingen en wordt traag. Het alternatief is vergelijken met =, SOMPRODUCT(--(A$2:A$7 = A2)) per rij, dat tekst nooit in getallen omzet en geen risico met voorvoegsels heeft, ten koste van één formule per rij en dezelfde n × n rekenlast.
Meer om op te letten
- Het sterretje betekent 'begint met'. Kunnen referenties verschillend lang zijn, dan past een korte referentie ook op elke langere die ermee begint. Voeg een controle met LENGTE toe, of gebruik de vergelijking met =.
- Een referentie die als getal in plaats van als tekst is opgeslagen, is zijn laatste drie cijfers in de cel zelf al kwijt. Geen formule haalt ze terug; geef de kolom de getalnotatie Tekst vóór het importeren van het bestand.
Varianten
=ALS(AANTAL.ALS($A$2:$A$7,A2 & "*") > 1, "Dubbel", "Uniek")
=ALS(AANTAL.ALS($A$2:$A$7;A2 & "*") > 1; "Dubbel"; "Uniek")
Eén formule per rij, doorgekopieerd, voor versies zonder dynamische matrices.
Probeer het zelf
Typ een criterium en zie welke boekingsregels AANTAL.ALS meetelt.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | |||
| 2 | 25-0401 | VRK | Boekingen | 33=AANTAL.ALS(B2:B9, "x")=AANTAL.ALS(B2:B9; "x") | |
| 3 | 25-0402 | MEM | |||
| 4 | 25-0403 | INK | |||
| 5 | 25-0404 | MEM | |||
| 6 | 25-0405 | BNK | |||
| 7 | 25-0406 | VRK | |||
| 8 | 25-0407 | MEM | |||
| 9 | 25-0408 |
Veeg opzij om alle kolommen te zien
- Formulecel
- Voldoet aan het criterium
=AANTAL.ALS(B2:B9, "MEM")
=AANTAL.ALS(B2:B9; "MEM")
Resultaat: 33
- komt overeen zoals getypt
- genomen door *
- genomen door ?
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Formulefout, of 0 bij een grens | De operator staat buiten de aanhalingstekens (>=E1) of de cel erbinnen (">=E1"). Het eerste is een formulefout; het tweede vergelijkt met de tekst E1 en geeft 0. | Zet de operator tussen aanhalingstekens en koppel de cel met &: ">="&E1. |
| 0 terwijl de waarde in de lijst staat | Een aantal van 0 voor een waarde die je in de lijst ziet staan, omdat de ene kant een getal is en de andere tekst die erop lijkt, of door een spatie aan het eind. | Controleer de cellen met ISGETAL en LENGTE, en maak de gegevens daarna schoon met WAARDE of SPATIES.WISSEN. |
| #WAARDE! bij een lang criterium | Een criterium langer dan 255 tekens, zoals een lange omschrijving, geeft #WAARDE!. | Vergelijk rechtstreeks met SOMPRODUCT(--(A2:A50 = E1)), dat geen lengtegrens heeft. |
| 0 bij een tussen-test in één AANTAL.ALS | Twee voorwaarden in één AANTAL.ALS, zoals ">=10 en <20", geven 0. | AANTAL.ALS kent één voorwaarde. Wil je weten of een waarde tussen twee grenzen ligt, gebruik dan AANTALLEN.ALS met twee keer hetzelfde bereik. |
Gebruikt in combinaties
- Facturen die in het grootboek ontbreken met FILTER, ISNB en X.VERGELIJKENToon de facturen op de specificatie van de debiteuren die niet in het grootboek staan: X.VERGELIJKEN zoekt elke factuur op, ISNB maakt van elke misser WAAR en FILTER houdt die rijen over, met een melding als er niets ontbreekt.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Dubbele factuurnummers in twee exportsZet twee maandelijkse inkoopexports onder elkaar en bewaar elk factuurnummer dat vaker dan één keer voorkomt, met VERT.STAPELEN, UNIEK, X.VERGELIJKEN, ISNB en FILTER.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Boekingen in het weekend en op feestdagen met FILTER, WEEKDAG en AANTAL.ALSToon de journaalposten met een datum op zaterdag, zondag of een Nederlandse feestdag: WEEKDAG markeert de weekenden, AANTAL.ALS toetst de datum aan een feestdagenlijst en FILTER houdt de gemarkeerde rijen over.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Hiatentest op factuurnummers met FILTER, REEKS en X.VERGELIJKENVind de ontbrekende nummers in een reeks verkoopfacturen: REEKS maakt elk nummer van het laagste tot het hoogste, X.VERGELIJKEN zoekt ze op in het grootboek, ISNB markeert de missers en FILTER toont ze, met een melding als er geen hiaten zijn.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)