AANTALARG
COUNTA in Engelstalige Excel
Telt de cellen in een of meer bereiken die iets bevatten: een getal, tekst, een datum, WAAR of ONWAAR, of een foutwaarde.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Locatie | Artikel | Geteld door | ||
| 2 | A-01 | Koperen buis 22 mm | TB | Briefjes klaar | 44=AANTALARG(C2:C8)=AANTALARG(C2:C8) |
| 3 | A-02 | Kabel NYM 3x2,5 | |||
| 4 | B-01 | Thermostaatkraan | AY | ||
| 5 | B-02 | Installatieautomaat 16 A | PR | ||
| 6 | C-01 | Warmtepomp buitenunit | |||
| 7 | C-02 | Leidingisolatie | TB | ||
| 8 | C-03 | Groepenkast |
Veeg opzij om alle kolommen te zien
Resultaat: 4
=AANTALARG(C2:C8)
=AANTALARG(C2:C8)
Wat AANTALARG doet en wanneer je het gebruikt
Wat het doet: het telt de cellen in een bereik die niet leeg zijn, wat er ook in staat, bijvoorbeeld hoeveel telbriefjes van de voorraadtelling terug zijn.
Wanneer je het gebruikt: bij volledigheidscontroles, zoals leveranciers met een IBAN of rijen in een export. Het is ook de functie die tekst telt, wat AANTAL overslaat. Voor alleen echte getallen gebruik je AANTAL, voor een voorwaarde AANTAL.ALS of AANTALLEN.ALS.
Hoe Excel de functie berekent
Excel loopt de argumenten van links naar rechts af. Bij een bereik controleert het elke cel en telt 1 op wanneer de cel niet echt leeg is; het type inhoud speelt geen rol.
Bij een waarde die in de formule staat of uit een berekening komt, telt het 1 op per waarde. Het totaal is het aantal niet-lege cellen of waarden.
Let op: AANTALARG toetst of er iets in een cel is opgeslagen, niet of de cel er leeg uitziet: een cel met een spatie, of met een formule die "" teruggaf, wordt meegeteld.
Denkmodel
Een medewerker die een stapel formulieren controleert op enige inkt. Een handtekening, een krabbel of een verdwaald puntje laat het formulier meetellen; alleen een formulier zonder enige markering wordt overgeslagen.
AANTALARG(waarde1,[waarde2], ...)
AANTALARG(waarde1;[waarde2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
waarde1 | Verplicht | Een bereik of waarde; alles wat niet leeg is telt mee. |
waarde2 | Optioneel | Meer bereiken of waarden. |
Geeft terug:Een geheel getal: hoeveel cellen of waarden niet leeg zijn
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
Ingevulde telbriefjes van de voorraadtelling tellen
Je woont de voorraadtelling aan het jaareinde bij in het magazijn van Veldhuis Installatie BV. Elk van de 7 locaties heeft een telbriefje, en de teller zet de initialen in het werkblad als het briefje klaar is. Je wilt één cel die laat zien hoeveel briefjes klaar zijn, zodat je weet hoe ver de telling is.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Locatie | Artikel | Geteld door | |||
| 2 | A-01 | Koperen buis 22 mm | TB | Briefjes klaar | 44=AANTALARG(C2:C8)=AANTALARG(C2:C8) | |
| 3 | A-02 | Kabel NYM 3x2,5 | ||||
| 4 | B-01 | Thermostaatkraan | AY | |||
| 5 | B-02 | Installatieautomaat 16 A | PR | |||
| 6 | C-01 | Warmtepomp buitenunit | ||||
| 7 | C-02 | Leidingisolatie | TB | |||
| 8 | C-03 | Groepenkast | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in E2
=AANTALARG(C2:C8)
=AANTALARG(C2:C8)
Resultaat: 44
Stap voor stap
- Excel neemt het bereik
C2:C8, zeven cellen in de kolom Geteld door, en controleert elke cel op inhoud. De cellen een voor een:
C2bevatTB(telt)C3is leeg (overgeslagen)C4bevatAY(telt)C5bevatPR(telt)C6is leeg (overgeslagen)C7bevatTB(telt)C8is leeg (overgeslagen)
- Vier cellen bevatten iets: 1 + 1 + 1 + 1 = 4, dus AANTALARG geeft 4. Drie briefjes staan nog open.
- Zodra de teller van
A-02zijn initialen inC3typt, wordt het resultaat 5 zonder dat je de formule aanpast.
Let op: Wist een teller een cel door een spatie te typen in plaats van op Delete te drukken, dan telt het briefje als klaar. Controleer verdachte cellen met LENGTE.
Meer over dit voorbeeld: waarom het werkt
Waarom het werkt
AANTALARG vraagt alleen of een cel iets bevat, dus initialen, een getal of een datum tellen hetzelfde mee. Daarom is het de juiste functie voor tekst, waar AANTAL voor deze initialen 0 zou geven.
Halfgevorderd
Volledigheid van IBAN en btw-nummer in de leverancierslijst
Voordat je steunt op het leveranciersbestand voor de test op de betaalrun, controleer je hoe compleet het is. Sommige leveranciers missen een IBAN, andere een btw-nummer. Je wilt per kolom het aandeel ingevulde cellen, in één formule die je onder de IBAN-kolom zet en naar rechts kopieert.
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Leverancier | IBAN | Btw-nummer | |
| 2 | Hofman Kabelhandel BV | NL12BANK0123456701 | NL812345678B01 | |
| 3 | Van der Linden Installatiemateriaal | NL12BANK0123456702 | ||
| 4 | Kaya Elektro Groothandel | NL12BANK0123456703 | NL812345679B01 | |
| 5 | Tielemans Montage BV | NL812345680B01 | ||
| 6 | Raman Klimaattechniek | NL12BANK0123456705 | NL812345681B01 | |
| 7 | De Bruin Staalhandel | NL12BANK0123456706 | ||
| 8 | Oosterhuis Logistiek | NL12BANK0123456707 | NL812345683B01 | |
| 9 | Mulder Gereedschappen | NL12BANK0123456708 | NL812345684B01 | |
| 10 | ||||
| 11 | Volledigheid | 87.5%87,5%=AANTALARG(B2:B9) / AANTALARG($A$2:$A$9)=AANTALARG(B2:B9) / AANTALARG($A$2:$A$9) | ||
| 12 |
Veeg opzij om alle kolommen te zien
Formule in B11
=AANTALARG(B2:B9) / AANTALARG($A$2:$A$9)
=AANTALARG(B2:B9) / AANTALARG($A$2:$A$9)
Resultaat: 87.5%87,5%
Stap voor stap
- Excel rekent eerst de eerste AANTALARG over
B2:B9uit. Zeven IBAN's zijn aanwezig enB5(Tielemans Montage BV) is leeg, dus het resultaat is 7. - Daarna rekent het AANTALARG($A$2:$A$9) uit over de leveranciersnamen. Alle 8 cellen zijn gevuld, dus het resultaat is 8. Dat is het aantal leveranciers.
- De deling 7 / 8 = 0,875. Met de procentopmaak toont de cel 87,5%.
- Naar
C11gekopieerd wordt de relatieve verwijzingB2:B9gelijk aanC2:C9en blijft$A$2:$A$9staan.C3enC7zijn leeg, dus er zijn 6 btw-nummers en 6 / 8 = 0,75, getoond als 75%. - Zonder de dollartekens zou de noemer in
C11verschuiven naar AANTALARG(B2:B9), en zou het resultaat 6 / 7 = 85,7% zijn, een getal dat aannemelijk lijkt en fout is.
Let op: Een cel met één spatie in plaats van een IBAN telt als gevuld en de volledigheid wordt te hoog weergegeven. AANTALARG ziet dat niet.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
De kolom met leveranciersnamen is per definitie compleet, dus het tellen ervan geeft het aantal rijen zonder vast getal in de formule. Door die kolom met $ te vergrendelen bedient één formule elke kolom, terwijl het bereik in de teller bij elke kopie meeschuift.
Meer om op te letten
- Gevuld is niet hetzelfde als geldig. Een cel met 'n.v.t.' telt als IBAN. Volledigheid is alleen de eerste controle, gevolgd door een controle op het formaat.
Varianten
=1 - AANTAL.LEGE.CELLEN(B2:B9) / RIJEN(B2:B9)
=1 - AANTAL.LEGE.CELLEN(B2:B9) / RIJEN(B2:B9)
Hetzelfde percentage vanaf de andere kant: AANTAL.LEGE.CELLEN telt lege cellen en ook cellen met "" uit een formule. Kies deze wanneer de kolom door formules wordt gevuld.
Gevorderd
Werkelijk goedgekeurde journaalposten, spaties genegeerd
In de journaalposten van Veldhuis Installatie BV hoort elke handmatige boeking de initialen van een goedkeurder te dragen. In de export hebben boekingen zonder goedkeuring een lege cel, maar sommige gebruikers typten een spatie om het veld te 'wissen', waardoor het er leeg uitziet. Je wilt het aantal boekingen met een echte goedkeurder.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Boekstuk | Goedgekeurd door | Goedgekeurde boekingen | 44=AANTALARG(B2:B9) - SOMPRODUCT(--(B2:B9 <> ""), --(SPATIES.WISSEN(B2:B9) = ""))=AANTALARG(B2:B9) - SOMPRODUCT(--(B2:B9 <> ""); --(SPATIES.WISSEN(B2:B9) = "")) | ||
| 2 | 25-1101 | SvdV | ||||
| 3 | 25-1102 | |||||
| 4 | 25-1103 | |||||
| 5 | 25-1104 | AY | ||||
| 6 | 25-1105 | TB | ||||
| 7 | 25-1106 | |||||
| 8 | 25-1107 | |||||
| 9 | 25-1108 | PR | ||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in E1
=AANTALARG(B2:B9) - SOMPRODUCT(--(B2:B9 <> ""),--(SPATIES.WISSEN(B2:B9) = ""))
=AANTALARG(B2:B9) - SOMPRODUCT(--(B2:B9 <> "");--(SPATIES.WISSEN(B2:B9) = ""))
Resultaat: 44
Stap voor stap
- Eerst AANTALARG(B2:B9). Die telt elke cel die niet echt leeg is:
SvdV, de spatie inB4,AY,TB, de spatie inB7enPR. Dat is 6, en het zou suggereren dat maar 2 van de 8 boekingen geen goedkeuring hebben. - Nu de correctie, binnen SOMPRODUCT. B2:B9 <> "" is WAAR voor elke cel die niet echt leeg is: {WAAR; ONWAAR; WAAR; WAAR; WAAR; WAAR; ONWAAR; WAAR}. De dubbele min maakt daar {1; 0; 1; 1; 1; 1; 0; 1} van.
- SPATIES.WISSEN(B2:B9) haalt de spaties uit elke cel weg, dus de spaties in
B4enB7en de lege cellenB3enB8worden allemaal lege tekst. SPATIES.WISSEN(B2:B9) = "" geeft {ONWAAR; WAAR; WAAR; ONWAAR; ONWAAR; WAAR; WAAR; ONWAAR}, en de dubbele min maakt daar {0; 1; 1; 0; 0; 1; 1; 0} van. - SOMPRODUCT vermenigvuldigt de twee matrices positie voor positie: {0; 0; 1; 0; 0; 1; 0; 0}. Alleen de cellen die gevuld zijn maar niets dan spaties bevatten blijven over:
B4enB7. De som is 2. - AANTALARG min SOMPRODUCT is 6 - 2 = 4. Vier van de 8 boekingen hebben een goedkeurder, dus 4 zijn niet goedgekeurd, twee keer zoveel als AANTALARG alleen liet zien.
Let op: Stille fout: een vaste spatie (teken 160), gebruikelijk in web- en systeemexports, blijft na SPATIES.WISSEN staan en telt als goedkeurder. Gebruik SPATIES.WISSEN(SUBSTITUEREN(B2:B9; TEKEN(160); " ")) in plaats van SPATIES.WISSEN(B2:B9).
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
AANTALARG levert het hoofdgetal, maar telt alles wat is opgeslagen, spaties inbegrepen. Het SOMPRODUCT-deel vindt de cellen die wel zijn opgeslagen maar alleen spaties bevatten, de cellen die AANTALARG niet had mogen tellen, en trekt precies die af. Echt lege cellen zitten in geen van beide aantallen, dus er wordt niets dubbel afgetrokken.
Meer om op te letten
- Een cel met 'n.v.t.' of 'x' is een echte waarde en telt als goedgekeurd. De formule toetst op inhoud, niet op geldige initialen.
Varianten
=SOMPRODUCT(--(SPATIES.WISSEN(B2:B9) <> ""))
=SOMPRODUCT(--(SPATIES.WISSEN(B2:B9) <> ""))
Zonder AANTALARG: tel de cellen waarvan de opgeschoonde tekst niet leeg is. Het vangt ook "" uit formules op, wat de hoofdformule niet aftrekt.
=RIJEN(B2:B9) - AANTAL.LEGE.CELLEN(B2:B9)
=RIJEN(B2:B9) - AANTAL.LEGE.CELLEN(B2:B9)
Vangt "" uit formules op, omdat AANTAL.LEGE.CELLEN die als leeg telt, maar geen getypte spaties: met deze gegevens zou het resultaat 6 zijn, niet 4.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Ontbrekende factuurnummers in een reeks, met dubbelen en lege cellen
Voor de volledigheid van de omzet test je de nummering van de verkoopfacturen van Veldhuis Installatie BV. Volgens het controlebestand loopt de reeks van V-2601 tot en met V-2609.
De export bevat dubbelen, waarvan één met een spatie erachter, en een rij waarvan het factuurnummer leeg is. Je wilt weten hoeveel nummers uit de reeks ontbreken.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Factuurnummer | Bedrag | Eerste nummer | 26012601 | ||
| 2 | V-2601 | €1,200.00€ 1.200,00 | Laatste nummer | 26092609 | ||
| 3 | V-2602 | €845.50€ 845,50 | Ontbrekend | 33=LET( nummers, SPATIES.WISSEN(A2:A9), gezien, UNIEK(FILTER(nummers, nummers <> "")), E2 - E1 + 1 - AANTALARG(gezien) )=LET( nummers; SPATIES.WISSEN(A2:A9); gezien; UNIEK(FILTER(nummers; nummers <> "")); E2 - E1 + 1 - AANTALARG(gezien) ) | ||
| 4 | V-2602 | €845.50€ 845,50 | ||||
| 5 | V-2604 | €3,100.00€ 3.100,00 | ||||
| 6 | V-2605 | €560.00€ 560,00 | ||||
| 7 | €2,250.00€ 2.250,00 | |||||
| 8 | V-2608 | €1,780.00€ 1.780,00 | ||||
| 9 | V-2609 | €920.00€ 920,00 | ||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in E3
=LET( nummers,SPATIES.WISSEN(A2:A9), gezien, UNIEK(FILTER(nummers, nummers <> "")), E2 - E1 + 1 - AANTALARG(gezien) )
=LET( nummers;SPATIES.WISSEN(A2:A9); gezien; UNIEK(FILTER(nummers; nummers <> "")); E2 - E1 + 1 - AANTALARG(gezien) )
Resultaat: 33
Stap voor stap
- LET slaat nummers op als SPATIES.WISSEN(A2:A9): {V-2601; V-2602; V-2602; V-2604; V-2605; ""; V-2608; V-2609}. SPATIES.WISSEN haalt de spatie achter
A4weg, dus die is gelijk aanA3, en de legeA7wordt "". - FILTER(nummers; nummers <> "") houdt de 7 items over die geen lege tekst zijn en laat de "" van A7 vallen.
- UNIEK verwijdert de tweede V-2602. gezien wordt {V-2601; V-2602; V-2604; V-2605; V-2608; V-2609}, 6 verschillende nummers.
- AANTALARG(gezien) telt de 6 items, allemaal tekst.
- De reeks bevat E2 - E1 + 1 = 2609 - 2601 + 1 = 9 nummers. 9 - 6 = 3, dus drie nummers ontbreken:
V-2603,V-2606enV-2607. - De omgekeerde fout: laat je FILTER weg, dan houdt UNIEK(nummers) de "" als item, zodat gezien 7 elementen heeft en AANTALARG de lege tekst als één telt. Het resultaat zou 9 - 7 = 2 zijn, met één gat dat verborgen blijft.
Let op: Een verwante fout: =E2 - E1 + 1 - AANTALARG(UNIEK(A2:A9)) lijkt dezelfde test en geeft met deze gegevens 9 - 8 = 1. De spatie achter V-2602 laat die twee keer meetellen en de lege cel telt één keer.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
De reeks is tekst, dus AANTAL zou hier 0 geven en AANTALARG is de functie die de verschillende nummers telt. RIJEN(gezien) zou met deze gegevens ook 6 geven; AANTALARG is gekozen omdat het items telt en geen posities, en dus ook werkt als gezien later wordt vervangen door een bereik met echt lege cellen of door een rij in plaats van een kolom.
De twee opschoonstappen zijn nodig omdat AANTALARG alles telt wat het krijgt: een "" of een nummer met een spatie erachter telt voor 1 mee, net als een echt factuurnummer.
Gebruik deze opbouw niet bij een populatie van honderdduizenden regels of als je ook de gaten zelf wilt opsommen: bouw dan met REEKS de verwachte nummers en controleer elk nummer met AANTAL.ALS, of draai een hiatentest in Power Query of je data-analysetool. Het nadeel is meer rekenwerk, in ruil voor een lijst van precies de ontbrekende nummers.
De formule heeft LET, FILTER en UNIEK nodig, die er zijn in Excel 2021 en Microsoft 365; oudere versies kennen LET helemaal niet.
Meer om op te letten
- Stille fout: bevat de export een nummer buiten de reeks, zoals
V-2700, dan telt dat als gezien en verbergt het een gat. Controleer eerst het minimum en maximum van de nummers aan de hand vanE1enE2. - Zijn alle cellen in
A2:A9leeg, dan geeft FILTER een foutwaarde en faalt de formule. In dat geval heb je geen export, en dat is op zich de bevinding.
Varianten
=SOMPRODUCT(--(AANTAL.ALS(A2:A9,"V-" & REEKS(E2 - E1 + 1, 1, E1)) = 0))
=SOMPRODUCT(--(AANTAL.ALS(A2:A9;"V-" & REEKS(E2 - E1 + 1; 1; E1)) = 0))
Bouwt met REEKS de negen verwachte nummers en telt die AANTAL.ALS niet vindt, dus de uitkomst is een aantal (hier 3) en geen lijst. Dubbelen hoeven niet te worden verwijderd, maar AANTAL.ALS vergelijkt de hele cel: een nummer dat alleen met een spatie erachter voorkomt, wordt niet gevonden en telt als ontbrekend, dus maak de kolom eerst schoon.
Wil je de gaten opsommen, pak dan dezelfde toets in FILTER.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Halflege kolom geeft een hoog aantal | Een kolom die half leeg lijkt, geeft een hoog aantal, omdat de 'lege' cellen een spatie, een apostrof of een formule met "" als resultaat bevatten. | Test met SOMPRODUCT(--(LENGTE(SPATIES.WISSEN(bereik)) > 0)), dat alleen cellen met zichtbare tekst telt, of gebruik RIJEN(bereik) - AANTAL.LEGE.CELLEN(bereik) als "" uit formules de oorzaak is. |
| Tekst, WAAR of fouten tellen als getal | AANTALARG wordt gebruikt om getallen te tellen, en een tekstcel, een WAAR of een foutwaarde in het bereik telt ook mee. | Gebruik AANTAL wanneer alleen echte getallen moeten meetellen. AANTALARG is voor 'ingevuld', AANTAL is voor 'is een getal'. |
| Aantal is 1 of 2 te hoog | Het bereik bevat de koprij of een totaalrij, waardoor het resultaat 1 of 2 te hoog is. | Begin het bereik onder de kop en stop boven de totaalrij, of trek bewust 1 af voor een kop en zeg dat in een label. |
| 1 in plaats van 0 bij een leeg FILTER | AANTALARG(FILTER(...)) geeft 1 in plaats van 0 wanneer het filter niets vindt, omdat de foutwaarde of lege tekst die FILTER teruggeeft zelf een waarde is. | Toets eerst de voorwaarde, bijvoorbeeld met SOM(--(voorwaarde)), en tel het gefilterde resultaat pas wanneer dat boven 0 ligt. |