Naar de inhoud
ExcelOefeningen

VIND.SPEC en VIND.ALLES in Excel: tekst zoeken in een cel

Bijgewerkt op . Engelse naam: SEARCH

VIND.SPEC zoekt een stukje tekst in een cel en geeft de positie waar het begint, bijvoorbeeld =VIND.SPEC("@";A2) voor de plek van het apenstaartje in een e-mailadres. VIND.ALLES doet hetzelfde, maar let op hoofdletters en kent geen jokertekens. In de Engelse Excel heten ze SEARCH en FIND.

Syntax

=VIND.SPEC(zoeken_tekst; in_tekst; [begin_getal])

zoeken_tekst
De tekst die je zoekt, tussen aanhalingstekens, zoals "@" of "bio". Een cel met die tekst mag ook.
in_tekst
De tekst of cel waarin je zoekt, bijvoorbeeld A2.
begin_getal(optioneel)
Vanaf welke positie Excel begint te zoeken. Standaard is dat 1, het eerste teken.

Hoe werkt VIND.SPEC?

VIND.SPEC zoekt een stukje tekst binnen een andere tekst en vertelt je op welke positie het begint. Staat in A2 "info@bakkerijverhoef.nl", dan geeft =VIND.SPEC("@";A2) het getal 5: het apenstaartje is het vijfde teken.

Komt de tekst vaker voor, dan krijg je de positie van de eerste keer. Vindt Excel de tekst helemaal niet, dan krijg je #WAARDE!.

In je eentje zegt zo'n positie niet zoveel. De kracht zit in de combinatie met LINKS, RECHTS en DEEL. Weet je waar het apenstaartje staat, dan haal je alles ervoor op met =LINKS(A2;VIND.SPEC("@";A2)-1). Dat geeft info. Zo knip je tekst op een vaste plek, ook als de stukken steeds een andere lengte hebben.

Verschil tussen VIND.SPEC en VIND.ALLES

De twee functies hebben dezelfde argumenten en doen bijna hetzelfde. Er zijn twee verschillen:

  • Hoofdletters. VIND.SPEC let niet op hoofdletters: "bio" vindt ook "Bio" en "BIO". VIND.ALLES is hoofdlettergevoelig: "bio" vindt alleen "bio".
  • Jokertekens. In VIND.SPEC mag je * en ? gebruiken. "k?t" vindt dan kat, kit en kot. VIND.ALLES zoekt letterlijk naar een sterretje of vraagteken.

In de meeste gevallen is VIND.SPEC de handigste keuze, omdat je dan niet hoeft na te denken over hoofdletters. Kies VIND.ALLES als het verschil tussen hoofdletters en kleine letters wel belangrijk is, bijvoorbeeld bij codes waarin "A" en "a" iets anders betekenen.

Wil je in VIND.SPEC zoeken naar een echt vraagteken of sterretje, zet er dan een tilde voor: "~?".

Controleren of een cel een woord bevat

Een veelgebruikte toepassing: kijken of een cel een bepaald woord bevat. VIND.SPEC geeft een getal als het woord erin staat en #WAARDE! als dat niet zo is. Met ISGETAL maak je daar WAAR of ONWAAR van:

  • =ISGETAL(VIND.SPEC("bio";A2))

Zet het in ALS voor een eigen tekst:

  • =ALS(ISGETAL(VIND.SPEC("bio";A2));"Biologisch";"")

Zo label je snel producten, markeer je opmerkingen met een trefwoord of zoek je klachten met het woord levering. Wil je alleen tellen hoeveel cellen een woord bevatten, dan is =AANTAL.ALS(A2:A100;"*bio*") korter. De sterretjes staan daar voor willekeurige tekst ervoor en erna.

VIND.SPEC geeft #WAARDE!

#WAARDE! betekent bij VIND.SPEC en VIND.ALLES bijna altijd dat de tekst niet gevonden is. Controleer dan:

  • Staat de zoektekst er echt in? Let op spelling en spaties.
  • Gebruik je VIND.ALLES terwijl de hoofdletters verschillen? Kies dan VIND.SPEC.
  • Is het begin_getal groter dan de lengte van de tekst? Dan zoekt Excel voorbij het einde.
  • Staan de argumenten in de goede volgorde? Eerst wat je zoekt, dan waarin je zoekt. =VIND.SPEC(A2;"@") zoekt de hele cel in één apenstaartje.

Is het normaal dat de tekst soms ontbreekt, vang de fout dan af met ALS.FOUT: =ALS.FOUT(VIND.SPEC("@";A2);0). Een 0 betekent dan: niet gevonden.

De tweede keer zoeken met begin_getal

Met het derde argument kies je waar Excel begint te zoeken. Dat gebruik je om de tweede keer te vinden dat een teken voorkomt. Zoek eerst de eerste positie en begin daarna één plek verder:

  • =VIND.SPEC("-";A2;VIND.SPEC("-";A2)+1)

Staat in A2 "NL-ZLD-0042", dan staat het eerste streepje op positie 3. De formule begint op positie 4 en vindt het tweede streepje op positie 7.

Met die positie haal je het laatste deel op: =DEEL(A2;8;100) geeft 0042. Heb je Microsoft 365, dan kan dit eenvoudiger met TEKST.NA. Daarin geef je gewoon aan het hoeveelste scheidingsteken je bedoelt.

Voorbeelden

Gebruikersnaam uit een e-mailadres

Je wilt van elk e-mailadres het deel vóór het apenstaartje, bijvoorbeeld als gebruikersnaam.

=LINKS(A2;VIND.SPEC("@";A2)-1) in cel B2

B2
ABC
1E-mailadresGebruikersnaam
2s.devries@groenbv.nls.devries
3
4

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

VIND.SPEC vindt het @ op positie 10. LINKS neemt de 9 tekens daarvoor: s.devries.

Biologische producten herkennen

Een natuurwinkel wil zien welke producten het woord bio in de naam hebben.

=ALS(ISGETAL(VIND.SPEC("bio";A2));"Ja";"Nee") in cel B2

B2
ABC
1ProductBio?
2Bio havermout 500 gJa
3
4

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

VIND.SPEC let niet op hoofdletters, dus bio vindt ook Bio. De uitkomst is Ja.

VIND.ALLES let wel op hoofdletters

Dezelfde controle, maar nu met VIND.ALLES.

=ALS(ISGETAL(VIND.ALLES("bio";A2));"Ja";"Nee") in cel B2

B2
ABC
1ProductBio?
2Bio havermout 500 gNee
3
4

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

VIND.ALLES zoekt precies bio met een kleine b. Dat staat er niet, dus de uitkomst is Nee.

Veelgemaakte fouten

  • Argumenten omgedraaid

    Eerst komt wat je zoekt, dan de cel waarin je zoekt: =VIND.SPEC("@";A2). Andersom krijg je #WAARDE!.

  • VIND.ALLES gebruiken als hoofdletters niet uitmaken

    VIND.ALLES vindt "bio" niet in "Bio". Gebruik VIND.SPEC als je niet op hoofdletters wilt letten.

  • #WAARDE! niet afvangen

    Als de tekst ontbreekt, krijg je #WAARDE!. Gebruik ISGETAL voor een ja/nee-controle of ALS.FOUT voor een eigen uitkomst.

Oefen het zelf

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

Veelgestelde vragen

Wat is het verschil tussen VIND.SPEC en VIND.ALLES?

VIND.SPEC let niet op hoofdletters en ondersteunt jokertekens. VIND.ALLES is hoofdlettergevoelig en zoekt letterlijk.

Hoe controleer ik of een cel bepaalde tekst bevat?

Gebruik =ISGETAL(VIND.SPEC("tekst";A2)). Dat geeft WAAR als de tekst erin staat en ONWAAR als dat niet zo is.

Waarom geeft VIND.SPEC #WAARDE!?

De zoektekst komt niet voor in de cel. Controleer de spelling, de volgorde van de argumenten en bij VIND.ALLES ook de hoofdletters.

Hoe vind ik de tweede spatie in een cel?

Begin met zoeken na de eerste spatie: =VIND.SPEC(" ";A2;VIND.SPEC(" ";A2)+1).

Hoe heten VIND.SPEC en VIND.ALLES in het Engels?

VIND.SPEC heet SEARCH en VIND.ALLES heet FIND.

Gerelateerde functies