Jokertekens
Jokertekens zijn tekens die voor andere tekens staan, zodat een criterium of zoekwaarde een deel van een tekst kan vinden in plaats van de hele tekst.
Laatst bijgewerkt: 14 oktober 2026
Legt uit: jokerteken
Wat het is: Een jokerteken is een teken in een tekstpatroon dat voor andere tekens staat: * voor een willekeurige reeks tekens, ? voor precies een teken. Het patroon Bak* past bij Bakker en Bakkerij.
Waarom het ertoe doet: Excel vergelijkt tekst normaal als geheel: het criterium Bakker vindt een cel waarin precies Bakker staat. Met een jokerteken tel, sommeer of zoek je op een deel van een tekst, bijvoorbeeld alle omschrijvingen met correctie of alle boekstuknummers die met 25-04 beginnen, zonder hulpkolommen vol LINKS, DEEL en VIND.ALLES.
Wat jokertekens zijn
Een jokerteken is een teken in een tekstpatroon dat voor andere tekens staat. Een patroon als *correctie* past op elke tekst waarin het woord correctie voorkomt, waar dan ook.
Voor elk patroon gelden drie regels:
- Excel vergelijkt het patroon met de volledige tekst in de cel:
25-04vindt alleen25-04zelf, terwijl25-04*ook25-0412vindt - hoofdletters en kleine letters maken geen verschil
- alleen tekst telt: een cel met het getal
2504is geen tekst, dus geen enkel patroon vindt die
Excel kent drie jokertekens:
| Teken | Staat voor | Voorbeeldpatroon | Past op |
|---|---|---|---|
* | Een willekeurig aantal tekens, ook nul | 25-04* | 25-04, 25-0412 en 25-0499, maar niet 24-0412 |
? | Precies één teken | 25-04?? | 25-0412 en 25-0499, maar niet 25-04 of 25-04123 |
~ | Neemt het volgende teken (* ? of ~) zijn bijzondere betekenis af, zodat het als zichzelf wordt gelezen | 25~* | Alleen de tekst 25* met een echt sterretje |
Probeer het zelf
Kies een kolom, typ een patroon en zie welke cellen AANTAL.ALS meetelt.
Zoek in
Kolom A bevat de boekstuknummers. Probeer de patronen die bij een nummer passen.
Kolom B bevat de omschrijvingen. Probeer een patroon met een woord erin.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Omschrijving | |||
| 2 | 25-04 | Openingsbalans | Treffers | 44=AANTAL.ALS(A2:A8, "x")=AANTAL.ALS(A2:A8; "x") | |
| 3 | 25-0412 | Correctie btw maart | |||
| 4 | 25-0499 | Bankkosten april | |||
| 5 | 24-0412 | Correctie overlopende post | |||
| 6 | 25-04123 | Huur april | |||
| 7 | 25* | Concept, nummer volgt | |||
| 8 | 25-0507 | Btw-correctie Q1 |
Veeg opzij om alle kolommen te zien
- Formulecel
- Voldoet aan het criterium
=AANTAL.ALS(A2:A8, "25-04*")
=AANTAL.ALS(A2:A8; "25-04*")
Resultaat: 44
=AANTAL.ALS(B2:B8, "25-04*")
=AANTAL.ALS(B2:B8; "25-04*")
Resultaat: 00
- komt overeen zoals getypt
- genomen door *
- genomen door ?
Bevat, begint met, eindigt op
De meeste patronen hebben een van drie vormen. Wil je een waarde uit een cel gebruiken, plak de delen dan aan elkaar met &, zodat het patroon meebeweegt met wat er in de cel staat.
Bevat: een * aan beide kanten.
=AANTAL.ALS(B2:B100,"*" & E1 & "*")
=AANTAL.ALS(B2:B100;"*" & E1 & "*")
Telt de cellen in B2:B100 die de tekst uit E1 bevatten.
Begint met: een * achter de tekst.
=AANTAL.ALS(A2:A100,E1 & "*")
=AANTAL.ALS(A2:A100;E1 & "*")
Telt de cellen in A2:A100 die beginnen met de tekst uit E1.
Eindigt op: een * voor de tekst.
=AANTAL.ALS(A2:A100,"*" & E1)
=AANTAL.ALS(A2:A100;"*" & E1)
Telt de cellen in A2:A100 die eindigen op de tekst uit E1.
Bevat niet: de operator <> vóór het patroon.
=AANTAL.ALS(B2:B100,"<>*" & E1 & "*")
=AANTAL.ALS(B2:B100;"<>*" & E1 & "*")
Telt de cellen die de tekst uit E1 niet bevatten. Lege cellen tellen ook mee.
Waar jokertekens werken
Jokertekens werken in functies die tekst vergelijken met een criterium of een zoekwaarde, en in het venster Zoeken en vervangen (Ctrl+F). Sommige zoekfuncties lezen ze pas nadat je de juiste modus kiest.
| Functie | Waar het patroon staat | Voorwaarde |
|---|---|---|
AANTAL.ALS, AANTALLEN.ALS, SOM.ALS, SOMMEN.ALS | De criteria | Altijd, op tekstcellen. |
GEMIDDELDE.ALS, GEMIDDELDEN.ALS, MAX.ALS.VOORWAARDEN, MIN.ALS.VOORWAARDEN | De criteria | Altijd, op tekstcellen. |
VERGELIJKEN | De zoekwaarde | Alleen met criteriumtype 0 (exacte overeenkomst). |
X.ZOEKEN, X.VERGELIJKEN | De zoekwaarde | Alleen met overeenkomstmodus 2. Met de standaardwaarde 0 wordt het sterretje als teken gezocht. |
VERT.ZOEKEN | De zoekwaarde | Alleen bij een exacte overeenkomst (laatste argument ONWAAR of 0). |
VIND.SPEC | De te zoeken tekst | Altijd. VIND.SPEC negeert ook hoofdletters en kleine letters. |
=X.ZOEKEN("*" & E1 & "*",A2:A8, B2:B8, "Niet gevonden", 2)
=X.ZOEKEN("*" & E1 & "*";A2:A8; B2:B8; "Niet gevonden"; 2)
Overeenkomstmodus 2 zet jokertekens aan. In X.ZOEKEN is dat het vijfde argument, in X.VERGELIJKEN het derde.
=VERGELIJKEN("*" & E1 & "*",A2:A8, 0)
=VERGELIJKEN("*" & E1 & "*";A2:A8; 0)
VERGELIJKEN leest jokertekens als het criteriumtype 0 is. De functie geeft de positie van de eerste cel die past.
Waar jokertekens niet werken
Let op: Excel waarschuwt niet als een jokerteken niet werkt. Het leest * en ? als gewone tekens, vindt niets en geeft een nul of een #N/B. De formule ziet er nog steeds redelijk uit, en daarom is dit de meest gemaakte fout met jokertekens.
De tabel laat zien waar * en ? gewone tekens zijn, en wat je in plaats daarvan gebruikt.
| Functie of situatie | Wat er gebeurt | Gebruik in plaats daarvan |
|---|---|---|
VIND.ALLES | * en ? worden als echte tekens gezocht. | VIND.SPEC, dat jokertekens leest. Houd VIND.ALLES voor als de zoekactie hoofdlettergevoelig moet zijn. |
| De operatoren = en <> | A2 = "*x*" vergelijkt de cel met de tekst *x* zelf. | AANTAL.ALS, of ISGETAL(VIND.SPEC(...)) als je per cel WAAR of ONWAAR nodig hebt. |
GELIJK | Vergelijkt beide teksten teken voor teken. | Niets: GELIJK is bedoeld voor een exacte, hoofdlettergevoelige vergelijking. |
FILTER | Het argument opnemen van FILTER B2:B9 = "*x*" is een vergelijking, dus er komt geen rij doorheen. | ISGETAL(VIND.SPEC(...)) als argument opnemen. |
SUBSTITUEREN | Vervangt de tekst *x* zelf, geen patroon. | Zoeken en vervangen (Ctrl+H), dat jokertekens leest, of VIND.SPEC voor de positie en VERVANGEN om te wijzigen. |
| Getallen | Een patroon past alleen op tekst, dus 25* past nooit op het getal 2504. | Vergelijkingsoperatoren op het getal, of zet het getal eerst om naar tekst. |
=FILTER(A2:B9,ISGETAL(VIND.SPEC("correctie", B2:B9)))
=FILTER(A2:B9;ISGETAL(VIND.SPEC("correctie"; B2:B9)))
Geeft de rijen waarvan de omschrijving het woord bevat. VIND.SPEC levert per rij de WAAR of ONWAAR die FILTER nodig heeft.
Uitgewerkte voorbeelden
Voorbeeld1 van 3Beginner
De correctieboekingen in het dagboek tellen
Je hebt het dagboek van Veldhuis Installatie BV als werkblad gekregen. De boekhouder markeert correcties door het woord correctie ergens in de omschrijving te zetten, soms aan het begin, soms in hoofdletters ergens in het midden.
Voordat je boekingen gaat testen, wil je weten hoeveel correctieboekingen er zijn.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Omschrijving | Correcties | ||
| 2 | 25-0601 | Huur kantoor oktober | 44=AANTAL.ALS(B2:B9, "*correctie*")=AANTAL.ALS(B2:B9; "*correctie*") | ||
| 3 | 25-0602 | Correctie huur kantoor oktober | |||
| 4 | 25-0603 | Inkoop kabels Bakker Elektro | |||
| 5 | 25-0604 | Correctie inkoop kabels | |||
| 6 | 25-0605 | Verkoop onderhoud Q3 | |||
| 7 | 25-0606 | Correctie verkoop onderhoud | |||
| 8 | 25-0607 | Brandstof bedrijfswagens | |||
| 9 | 25-0608 | BTW-CORRECTIE 3E KWARTAAL | |||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in D2
=AANTAL.ALS(B2:B9,"*correctie*")
=AANTAL.ALS(B2:B9;"*correctie*")
Resultaat: 44
Stap voor stap
- Het criterium is de tekst
*correctie*. Het eerste*staat voor alle tekens vóór het woord, ook als dat er nul zijn, en het tweede*voor alle tekens erachter. - AANTAL.ALS test de acht cellen van
B2:B9een voor een en negeert hoofdletters en kleine letters.B2(Huur kantoor oktober) bevat geen correctie: nee.B3(Correctie huur kantoor oktober) wel: ja, het eerste*past op niets. B4(Inkoop kabels Bakker Elektro): nee.B5(Correctie inkoop kabels): ja.B6(Verkoop onderhoud Q3): nee.B7(Correctie verkoop onderhoud): ja.B8(Brandstof bedrijfswagens): nee.B9(BTW-CORRECTIE 3E KWARTAAL): ja. De hoofdletters maken niet uit, het eerste*past op"BTW-"en het tweede*op" 3E KWARTAAL".- Vier cellen voldoen (
B3,B5,B7enB9), dus het resultaat is 4. - Zonder de sterretjes is het criterium de hele tekst
correctieen wordt het resultaat 0: geen enkele cel bevat alleen dat. Met alleencorrectie*achteraan wordt het resultaat 3, omdatB9metBTWbegint.
Let op: Het patroon past op de letters die je typt, niet op de betekenis. Een omschrijving als Corr. huur telt niet mee, dus de 4 kan het aantal correcties te laag weergeven. Bekijk de niet-getelde rijen eens, of tel met een korter patroon als *corr* en vergelijk.
Meer over dit voorbeeld: waarom het werkt, 2 varianten
Waarom het werkt
AANTAL.ALS vergelijkt elke cel met het hele patroon, en een * kan voor elk aantal tekens staan, ook nul.
Een * aan beide kanten verandert "gelijk aan" in "bevat", zodat de plaats van het woord in de omschrijving niet meer uitmaakt.
Varianten
=AANTAL.ALS(B2:B9,"correctie*")
=AANTAL.ALS(B2:B9;"correctie*")
Begint met: telt alleen de omschrijvingen die met het woord beginnen. Het resultaat is 3, omdat B9 met BTW begint.
=SOMPRODUCT(--ISGETAL(VIND.SPEC("correctie",B2:B9)))
=SOMPRODUCT(--ISGETAL(VIND.SPEC("correctie";B2:B9)))
Telt dezelfde vier cellen zonder jokerteken in het criterium. Gebruik dit als de voorwaarde ingewikkelder wordt dan een enkel criterium.
Voorbeeld2 van 3Halfgevorderd
Het crediteurennummer vinden met een deel van de leveranciersnaam
Op het bankafschrift van Veldhuis Installatie BV staat een betaling aan "DE WIT", door de bank afgekapt. Je wilt het crediteurennummer uit de crediteurenlijst van de cliënt, en je hebt alleen het fragment.
E1 bevat het fragment. Als er geen leverancier past, moet er een melding verschijnen.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Leverancier | Crediteurnr. | Zoektekst | wit | ||
| 2 | Bakker Elektro BV | C2001 | Crediteurnr. | C2003=X.ZOEKEN("*" & E1 & "*", A2:A8, B2:B8, "Niet gevonden", 2)=X.ZOEKEN("*" & E1 & "*"; A2:A8; B2:B8; "Niet gevonden"; 2) | ||
| 3 | Kooiman Groothandel BV | C2002 | ||||
| 4 | De Wit Isolatie | C2003 | ||||
| 5 | Van Dijk Kabels BV | C2004 | ||||
| 6 | Jansen Dakbedekking | C2005 | ||||
| 7 | Dijkstra Transport | C2006 | ||||
| 8 | Smit Installatiemateriaal | C2007 | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in E2
=X.ZOEKEN("*" & E1 & "*",A2:A8, B2:B8, "Niet gevonden", 2)
=X.ZOEKEN("*" & E1 & "*";A2:A8; B2:B8; "Niet gevonden"; 2)
Resultaat: C2003
Stap voor stap
- In
E1staatwit. De uitdrukking "*" & E1 & "*" plakt de delen aan elkaar tot de tekst*wit*, de zoekwaarde waarmee Excel werkt. - Het vijfde argument is 2, de overeenkomstmodus voor jokertekens. Met de standaardwaarde 0 zou Excel zoeken naar een leverancier die letterlijk
*wit*heet en niets vinden. - X.ZOEKEN leest
A2:A8van boven naar beneden.A2(Bakker Elektro BV): nee.A3(Kooiman Groothandel BV): nee.A4(De Wit Isolatie): ja, de hoofdletterWmaakt niet uit, het eerste*past op"De "en het tweede*op" Isolatie". - De overeenkomst is het derde item, dus X.ZOEKEN geeft het derde item van
B2:B8, dat isB4:C2003. - Typ
xyzinE1en er past geen leverancier: het vierde argument toontNiet gevondenin plaats van #N/B.
Let op: Een fragment kan bij meer dan één leverancier passen. Met dijk in E1 geeft de formule C2004 (Van Dijk Kabels BV), de eerste die past, terwijl A7 (Dijkstra Transport) ook past. Tel eerst de treffers met de variant met AANTAL.ALS hieronder.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
De overeenkomstmodus maakt het verschil: die vertelt X.ZOEKEN om * en ? in de zoekwaarde als jokertekens te lezen in plaats van als tekens.
Door de sterretjes met & aan een cel te plakken blijft de formule herbruikbaar, want je past alleen E1 aan.
Meer om op te letten
- Een lege
E1geeft het patroon**, dat op elke tekst past. De formule geeft dan zonder waarschuwingC2001(de eerste leverancier). Controleer datE1gevuld is voordat je het resultaat vertrouwt.
Varianten
=AANTAL.ALS(A2:A8,"*" & E1 & "*")
=AANTAL.ALS(A2:A8;"*" & E1 & "*")
Telt hoeveel leveranciers bij het fragment passen. Met wit is het resultaat 1, met dijk is het 2. Voer het uit voordat je op een enkel antwoord vertrouwt.
=ALS.NB(INDEX(B2:B8,VERGELIJKEN("*" & E1 & "*", A2:A8, 0)), "Niet gevonden")
=ALS.NB(INDEX(B2:B8;VERGELIJKEN("*" & E1 & "*"; A2:A8; 0)); "Niet gevonden")
Hetzelfde resultaat in Excel-versies zonder X.ZOEKEN: VERGELIJKEN met criteriumtype 0 leest de jokertekens en INDEX haalt het crediteurennummer op.
Voorbeeld3 van 3Gevorderd
De boekingen met een echt vraagteken of sterretje tellen
De boekhouder van Veldhuis Installatie BV typt een ? in de omschrijving als een boeking onduidelijk is, en soms een * voor een opmerking.
Je wilt de boekingen tellen die het teken uit E1 bevatten. De formule moet voor beide tekens werken, omdat beide jokertekens zijn.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Boekstuk | Omschrijving | Te zoeken teken | ? | ||
| 2 | 25-0701 | Onderhoud ketel ? | Boekingen | 33=AANTAL.ALS(B2:B9, "*" & SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(E1, "~", "~~"), "*", "~*"), "?", "~?") & "*")=AANTAL.ALS(B2:B9; "*" & SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(E1; "~"; "~~"); "*"; "~*"); "?"; "~?") & "*") | ||
| 3 | 25-0702 | Huur kantoor november | ||||
| 4 | 25-0703 | Contante storting ?? | ||||
| 5 | 25-0704 | Factuur kabels * creditnota | ||||
| 6 | 25-0705 | Brandstof bedrijfswagens | ||||
| 7 | 25-0706 | Is dit een leasebetaling? | ||||
| 8 | 25-0707 | Telefoonkosten | ||||
| 9 | 25-0708 | Salariscorrectie (*) | ||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in E2
=AANTAL.ALS(B2:B9,"*" & SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(E1, "~", "~~"), "*", "~*"), "?", "~?") & "*")
=AANTAL.ALS(B2:B9;"*" & SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(E1; "~"; "~~"); "*"; "~*"); "?"; "~?") & "*")
Resultaat: 33
Stap voor stap
- In
E1staat?. AlsE1ongewijzigd in het criterium kwam, zou AANTAL.ALS het?lezen als "een willekeurig teken" in plaats van als vraagteken. De drie keer SUBSTITUEREN zetten eerst een~voor elk bijzonder teken. - De binnenste SUBSTITUEREN verdubbelt elke tilde in
E1(~wordt~~).E1heeft er geen, dus de tekst blijft?. Dit staat met opzet eerst: de tildes die de volgende twee stappen toevoegen, mogen niet worden verdubbeld. - De middelste SUBSTITUEREN zet
~voor elk*, enE1heeft er geen: nog steeds?. De buitenste SUBSTITUEREN zet~voor elk?, dus de tekst wordt~?. - "*" & "~?" & "*" maakt het patroon
*~?*: een willekeurige tekst, dan een echt vraagteken, dan weer een willekeurige tekst. - AANTAL.ALS test
B2:B9. De cellen met een echt vraagteken zijnB2(Onderhoud ketel ?),B4(Contante storting ??) enB7(Is dit een leasebetaling?).B5enB9hebben een sterretje maar geen vraagteken, en de andere cellen hebben geen van beide. Het resultaat is 3. - Zonder de escape betekent het patroon
*?*"minstens één teken" en telt de formule alle 8 cellen. Typ in plaats daarvan*inE1en het patroon wordt*~**(een willekeurige tekst, een echt sterretje, een willekeurige tekst): het resultaat is 2, voorB5enB9.
Let op: De fout ziet er goed uit: "*" & E1 & "*" met een ? in E1 geeft 8, het aantal niet-lege cellen, en een telling die aannemelijk lijkt, accepteer je snel. Test de formule met een teken waarvan je weet dat het maar een paar keer voorkomt.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 3 varianten
Waarom het werkt
De tilde laat het volgende teken zichzelf betekenen. Omdat het te zoeken teken in een cel staat, moet de formule de tildes zelf toevoegen.
De volgorde telt: eerst de tildes, dan * en ?, zodat een tilde in E1 behouden blijft en de toegevoegde niet worden verdubbeld.
Meer om op te letten
- Heb je maar één vast teken nodig, schrijf de escape dan met de hand, zoals in de eerste variant. De keten met SUBSTITUEREN is voor een teken dat uit een cel komt.
Varianten
=AANTAL.ALS(B2:B9,"*~?*")
=AANTAL.ALS(B2:B9;"*~?*")
Een vast teken: typ de tilde zelf. Het resultaat is 3.
=SOMPRODUCT(--ISGETAL(VIND.ALLES(E1,B2:B9)))
=SOMPRODUCT(--ISGETAL(VIND.ALLES(E1;B2:B9)))
Geen escape nodig, omdat VIND.ALLES geen jokertekens leest. De functie is hoofdlettergevoelig, wat voor ? en * niet uitmaakt. Het resultaat is 3.
=LET( brontekst,E1, veilig, SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(brontekst, "~", "~~"), "*", "~*"), "?", "~?"), AANTAL.ALS(B2:B9, "*" & veilig & "*") )
=LET( brontekst;E1; veilig; SUBSTITUEREN(SUBSTITUEREN(SUBSTITUEREN(brontekst; "~"; "~~"); "*"; "~*"); "?"; "~?"); AANTAL.ALS(B2:B9; "*" & veilig & "*") )
Dezelfde formule met LET, dat de tekst met escapes een naam geeft. Beter te lezen en te hergebruiken als de formule groeit.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| AANTAL.ALS met 40* geeft 0 op grootboeknummers | Je telt grootboeknummers met AANTAL.ALS(A2:A9; "40*") en krijgt 0, terwijl het werkblad rekeningen 4000 tot 4099 bevat. | Grootboeknummers die als getal zijn opgeslagen zijn geen tekst, dus een jokerteken past er nooit op. Gebruik twee vergelijkingscriteria, ">=4000" en "<4100", of zet de kolom eerst om naar tekst. |
| Een patroon mist omschrijvingen die met een spatie beginnen | Een patroon als "correctie*" mist omschrijvingen die met een spatie beginnen, en een ? telt een spatie als teken. | Zo los je het op:
|
| AANTAL.ALS met * telt ook cellen met lege tekst | AANTAL.ALS(A2:A9; "*") is bedoeld om de gevulde cellen te tellen, maar telt ook cellen met een formule die lege tekst geeft. | Een Getallen en echt lege cellen telt geen van beide patronen. |
| Zoeken op hoofdletters geeft ook kleine letters terug | Je zoekt naar BTW en het resultaat bevat ook btw en Btw, of je wilt precies de hoofdletters en krijgt te veel. | Matchen met jokertekens negeert hoofdletters in elke functie die ze leest. Voor een hoofdlettergevoelige telling gebruik je SOMPRODUCT(--ISGETAL(VIND.ALLES(...))), waar VIND.ALLES hoofdlettergevoelig is en geen jokertekens leest. |
| X.ZOEKEN geeft #N/B terwijl een naam de tekst bevat | X.ZOEKEN("*wit*"; A2:A8; B2:B8) geeft #N/B terwijl een naam wit bevat. | Zonder het vijfde argument is de overeenkomstmodus 0 en worden de sterretjes als tekens gezocht. Voeg 2 toe als overeenkomstmodus (en een melding als vierde argument). |