Naar de inhoud
ExcelOefeningen

TEKST.VOOR en TEKST.NA in Excel: tekst splitsen op een teken

Bijgewerkt op . Engelse naam: TEXTBEFORE

TEKST.VOOR geeft de tekst vóór een scheidingsteken en TEKST.NA de tekst erna, bijvoorbeeld =TEKST.VOOR(A2;" ") voor de voornaam en =TEKST.NA(A2;"@") voor het domein van een e-mailadres. Ze vervangen lastige combinaties van LINKS, DEEL en VIND.SPEC en zitten in Microsoft 365 en Excel 2024. In de Engelse Excel heten ze TEXTBEFORE en TEXTAFTER.

Syntax

=TEKST.VOOR(tekst; scheidingsteken; [exemplaarnummer]; [overeenkomstmodus]; [overeenkomst_einde]; [indien_niet_gevonden])

tekst
De tekst of cel die je wilt splitsen, bijvoorbeeld A2.
scheidingsteken
Het teken of de tekst waarop je splitst, zoals " ", "@" of "-".
exemplaarnummer(optioneel)
Bij welk exemplaar van het scheidingsteken je splitst. Standaard 1, de eerste. Een negatief getal telt vanaf het einde: -1 is de laatste.
overeenkomstmodus(optioneel)
0 is hoofdlettergevoelig (standaard), 1 niet. Alleen van belang als het scheidingsteken letters bevat.
overeenkomst_einde(optioneel)
Met 1 telt het einde van de tekst ook als scheidingsteken. Meestal laat je dit leeg.
indien_niet_gevonden(optioneel)
Wat Excel toont als het scheidingsteken niet voorkomt. Zonder dit argument krijg je #N/B. TEKST.NA heeft precies dezelfde argumenten.

Hoe werken TEKST.VOOR en TEKST.NA?

Je geeft twee dingen op: de tekst en het scheidingsteken. TEKST.VOOR geeft alles links van het scheidingsteken, TEKST.NA alles rechts ervan. Het scheidingsteken zelf valt weg.

Staat in A2 "Femke Jansen":

  • =TEKST.VOOR(A2;" ") geeft Femke
  • =TEKST.NA(A2;" ") geeft Jansen

Staat in A2 "s.devries@groenbv.nl":

  • =TEKST.VOOR(A2;"@") geeft s.devries
  • =TEKST.NA(A2;"@") geeft groenbv.nl

Het scheidingsteken mag ook uit meerdere tekens bestaan, zoals " - " of "://". Vroeger had je hiervoor een combinatie van LINKS, VIND.SPEC en LENGTE nodig. Met TEKST.VOOR en TEKST.NA is het één korte, leesbare formule.

Het hoeveelste scheidingsteken: exemplaarnummer

Komt het scheidingsteken vaker voor, dan splitst Excel standaard bij de eerste. Met het derde argument kies je een ander exemplaar.

Neem de code NL-ZLD-0042-B:

  • =TEKST.VOOR(A2;"-";2) geeft NL-ZLD, alles vóór het tweede streepje
  • =TEKST.NA(A2;"-";2) geeft 0042-B, alles na het tweede streepje

Een negatief getal telt vanaf het einde. Dat is erg handig, want je hoeft dan niet te weten hoeveel streepjes er zijn:

  • =TEKST.NA(A2;"-";-1) geeft B, het deel na het laatste streepje
  • =TEKST.VOOR(A2;"-";-1) geeft NL-ZLD-0042

Zo haal je bijvoorbeeld de extensie uit een bestandsnaam met =TEKST.NA(A2;".";-1), ook als de naam zelf punten bevat.

Niet gevonden: #N/B voorkomen

Staat het scheidingsteken niet in de tekst, dan geven TEKST.VOOR en TEKST.NA #N/B. Dat gebeurt bijvoorbeeld bij een naam zonder spatie, zoals alleen Femke. Je hebt twee manieren om dat op te vangen.

Met het laatste argument, indien_niet_gevonden, geef je zelf een uitkomst op:

  • =TEKST.VOOR(A2;" ";;;;A2) geeft de hele naam terug als er geen spatie in staat

De lege puntkomma's slaan de argumenten over die je niet nodig hebt. Dat leest wat onhandig, maar het werkt.

Of je zet het vijfde argument, overeenkomst_einde, op 1. Excel doet dan alsof er aan het einde van de tekst nog een scheidingsteken staat. =TEKST.VOOR(A2;" ";;;1) geeft bij Femke dan gewoon Femke. Bij TEKST.NA levert dezelfde instelling een lege tekst op.

TEKST.VOOR en TEKST.NA in oudere Excel-versies

TEKST.VOOR en TEKST.NA zitten in Microsoft 365, Excel 2024 en Excel voor het web. In Excel 2021, 2019 en ouder bestaan ze niet en krijg je #NAAM?. Daar gebruik je de klassieke combinaties:

  • Vóór de eerste spatie: =LINKS(A2;VIND.SPEC(" ";A2)-1)
  • Na de eerste spatie: =DEEL(A2;VIND.SPEC(" ";A2)+1;100)

De uitkomst is hetzelfde, maar de formules zijn langer en lastiger te lezen. Het deel na het laatste scheidingsteken vinden is in oudere versies zelfs echt ingewikkeld.

Deel je een bestand met mensen die een oudere versie gebruiken, kies dan voor LINKS en VIND.SPEC. Of splits de kolom eenmalig met Tekst naar kolommen op het tabblad Gegevens, zodat er geen formules meer nodig zijn.

Combineren met zoekfuncties

Met TEKST.VOOR en TEKST.NA haal je één stuk uit een tekst. Wil je een tekst in één keer in alle stukken splitsen, gebruik dan TEKST.SPLITSEN. =TEKST.SPLITSEN(A2;";") zet elk deel tussen de puntkomma's in een eigen kolom. De uitkomst loopt vanzelf over naar de cellen rechts.

Toch zijn TEKST.VOOR en TEKST.NA vaak handiger. Je bepaalt precies welk stuk je krijgt, en je kunt het resultaat direct in een andere formule gebruiken. Staat er bijvoorbeeld een omschrijving als "K-210 Koffiebonen 1 kg" en wil je de prijs bij die code, dan zoek je alleen het eerste deel op:

  • =X.ZOEKEN(TEKST.VOOR(A2;" ");Prijzen!A2:A50;Prijzen!B2:B50)

Zo combineer je tekstfuncties met zoekfuncties, zonder hulpkolom.

Voorbeelden

Voornaam uit een volledige naam

In een ledenlijst staan voornaam en achternaam in één cel. Voor een persoonlijke aanhef wil je alleen de voornaam.

=TEKST.VOOR(A2;" ") in cel B2

B2
ABC
1NaamVoornaam
2Femke JansenFemke
3
4

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

Alles vóór de eerste spatie: Femke.

Domein uit een e-mailadres

Je wilt zien van welk bedrijf een e-mailadres is, dus het deel na het apenstaartje.

=TEKST.NA(A2;"@") in cel B2

B2
ABC
1E-mailadresDomein
2s.devries@groenbv.nlgroenbv.nl
3
4

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

Alles na het apenstaartje: groenbv.nl.

Het laatste deel van een code

Artikelcodes hebben een wisselend aantal delen. Het volgnummer staat altijd achteraan, na het laatste streepje.

=TEKST.NA(A2;"-";-1) in cel B2

B2
ABC
1ArtikelcodeVolgnummer
2NL-ZLD-00420042
3
4

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

Met -1 telt Excel vanaf het einde en neemt alles na het laatste streepje: 0042.

Veelgemaakte fouten

  • #N/B als het scheidingsteken ontbreekt

    Vul indien_niet_gevonden in, zoals =TEKST.VOOR(A2;" ";;;;A2), of zet overeenkomst_einde op 1.

  • #NAAM? in een oudere Excel-versie

    TEKST.VOOR en TEKST.NA bestaan alleen in Microsoft 365, Excel 2024 en Excel voor het web. Gebruik in oudere versies LINKS, DEEL en VIND.SPEC.

  • Achternamen met een tussenvoegsel

    =TEKST.NA(A2;" ";-1) geeft bij Anna van den Berg alleen Berg. Gebruik =TEKST.NA(A2;" ") voor alles na de voornaam: van den Berg.

Oefen het zelf

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

Veelgestelde vragen

Hoe haal ik de tekst vóór een bepaald teken uit een cel?

Gebruik =TEKST.VOOR(A2;"-") met jouw scheidingsteken. In oudere versies gebruik je =LINKS(A2;VIND.SPEC("-";A2)-1).

Hoe haal ik de tekst na het laatste teken uit een cel?

Gebruik een negatief exemplaarnummer: =TEKST.NA(A2;"-";-1) geeft alles na het laatste streepje.

Waarom geeft TEKST.VOOR #N/B?

Het scheidingsteken komt niet voor in de tekst. Vang dat op met het argument indien_niet_gevonden of zet overeenkomst_einde op 1.

In welke Excel-versie zitten TEKST.VOOR en TEKST.NA?

In Microsoft 365, Excel 2024 en Excel voor het web. In Excel 2021 en ouder bestaan ze niet.

Hoe heten TEKST.VOOR en TEKST.NA in het Engels?

In de Engelse Excel heten ze TEXTBEFORE en TEXTAFTER.

Gerelateerde functies