Beschikbaar in:Alle versies (Werkt in Excel 2007, elke latere versie, Microsoft 365 en Excel voor het web)Voorbeelden vragen Excel 2021 of nieuwerCategorie:Tekst

LINKS

LEFT in Engelstalige Excel

Geeft de eerste tekens van een tekst terug; jij bepaalt hoeveel het er zijn, geteld vanaf het eerste teken.

Moeilijkheidsgraad 1 van 5. Twee argumenten en één regel om te leren: wat je er ook in stopt, het resultaat is tekst, ook als het eruitziet als een getal.

Laatst bijgewerkt: 13 oktober 2026

Bekijk de uitgewerkte voorbeelden

Fragment van het werkblad: in C2 staat de formule
RijABC
1Boekstuknr.BedragDagboek
2VRK-25-0412€12,100.00€ 12.100,00VRK=LINKS(A2, 3)=LINKS(A2; 3)
3INK-25-0388€4,235.50€ 4.235,50
4BNK-25-0071€8,450.00€ 8.450,00
5MEM-25-0031€25,000.00€ 25.000,00
Formulecel (C2)Invoer

Resultaat: VRK

=LINKS(A2, 3)
=LINKS(A2; 3)

Wat LINKS doet en wanneer je het gebruikt

Wat het doet: het geeft de eerste tekens van een tekst terug, bijvoorbeeld de dagboekcode aan het begin van een boekingsnummer.

Wanneer je de functie gebruikt: als het stuk dat je zoekt vooraan staat en je weet hoe lang het is, of VIND.ALLES dat kan uitrekenen. Houdt het stuk op bij een scheidingsteken, dan leest TEKST.VOOR beter (Excel 2024 of Microsoft 365). Voor het eind van een tekst gebruik je RECHTS, voor het midden DEEL.

Hoe Excel de functie berekent

Excel kijkt eerst naar tekst. Staat daar een getal, dan maakt Excel er tekst van in de vorm waarin het is opgeslagen: 4120 wordt de vier tekens 4, 1, 2 en 0.

Daarna volgt aantal_tekens; laat je dat weg, dan rekent Excel met 1. Vanaf positie 1 telt Excel zoveel tekens af en levert die als nieuwe tekstwaarde. Vraag je meer tekens dan er zijn, dan krijg je zonder foutmelding de hele tekst.

De uitkomst is altijd tekst: daarom staat hij links in de cel en telt SOM hem niet mee.

Let op: LINKS levert altijd tekst, ook als de uitkomst op een getal lijkt: uit rekeningnummer 4120 geeft LINKS(A2; 2) de tekst 41. Een SOM over zulke uitkomsten geeft 0 en zoeken naar het getal 41 levert #N/B op. Zet WAARDE om LINKS heen, of twee mintekens ervoor (--LINKS(A2; 2)), als je een getal nodig hebt.

Denkmodel

Een schaar die altijd aan de linkerrand van de strook begint te knippen; jij bepaalt alleen hoe ver de knip gaat.

Begrippen op deze pagina: cel

LINKS(tekst, [aantal_tekens])
LINKS(tekst; [aantal_tekens])
Argumenten
ArgumentSoortBetekenisStandaard
tekstVerplichtDe tekst waaruit je tekens haalt; meestal een celverwijzing.
aantal_tekensOptioneelHoeveel tekens je van links neemt. Laat je het weg, dan krijg je er 1.1

Geeft terug:Tekst: de eerste tekens van tekst, zoveel als aantal_tekens aangeeft

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

De dagboekcode uit een boekstuknummer halen

In de XAF-auditfile van Veldhuis Installatie BV begint elk boekstuknummer met een dagboekcode van drie letters plus een streepje:

  • VRK voor verkopen
  • INK voor inkopen
  • BNK voor bank
  • MEM voor memoriaalboekingen

Voor je journaalpostentest zet je die code in een eigen kolom, zodat je per dagboek kunt tellen en filteren.

Fragment van het werkblad: in C2 staat de formule
RijABCD
1Boekstuknr.BedragDagboek
2VRK-25-0412€12,100.00€ 12.100,00VRK=LINKS(A2, 3)=LINKS(A2; 3)
3INK-25-0388€4,235.50€ 4.235,50
4BNK-25-0071€8,450.00€ 8.450,00
5MEM-25-0031€25,000.00€ 25.000,00
6
Formulecel (C2)Invoer

Formule in C2

=LINKS(A2, 3)
=LINKS(A2; 3)

Resultaat: VRK

Stap voor stap
  1. In A2 staat VRK-25-0412, 11 tekens lang. Van links geteld zijn V, R en K de tekens 1 tot en met 3, is het eerste streepje teken 4, zijn de 2 en de 5 de tekens 5 en 6, is het tweede streepje teken 7 en zijn de cijfers 0, 4, 1, 2 de tekens 8 tot en met 11.
  2. aantal_tekens is 3, dus Excel neemt positie 1 tot en met 3 en laat de rest liggen.
  3. Op positie 1 tot en met 3 staan V, R en K. LINKS levert de tekst VRK, en die zie je in C2.
  4. Kopieer C2 omlaag tot en met C5: INK-25-0388 wordt INK, BNK-25-0071 wordt BNK, MEM-25-0031 wordt MEM. Overal volstaat dezelfde 3, want alle dagboekcodes zijn even breed.
  5. Maak van de 3 een 4 en C2 toont VRK-, inclusief streepje: aantal_tekens telt elk teken mee, leestekens ook.

Let op: Staat er in een boekstuknummer een spatie vooraan, dan levert LINKS een spatie plus de eerste twee letters op, bijvoorbeeld " VR". Die rij valt dan buiten de telling per dagboek. Komen de nummers niet rechtstreeks uit de auditfile, haal ze dan eerst door SPATIES.WISSEN.

Meer over dit voorbeeld: waarom het werkt, 1 variant

Waarom het werkt

De dagboekcode staat helemaal vooraan in het boekstuknummer en is altijd even breed: precies het soort gegeven waarvoor LINKS bestaat. Je hoeft niets te zoeken, want de code begint altijd op positie 1 en eindigt altijd op positie 3.

Varianten

=LINKS(A2:A5, 3)
=LINKS(A2:A5; 3)

In Excel 2021 of Microsoft 365 laat één formule in C2 de vier dagboekcodes overlopen.

Halfgevorderd

De rekeningklasse als echt getal ophalen

Je hebt de saldibalans van Veldhuis Installatie BV per 31 december 2025 ontvangen. Het eerste cijfer van elke grootboekrekening is de klasse:

  • 1 voor vorderingen en schulden
  • 4 voor bedrijfskosten
  • 8 voor omzet

Je wilt die klasse als getal in een eigen kolom, om op te filteren en mee te vergelijken wanneer je rekeningen koppelt aan posten uit de jaarrekening.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1RekeningOmschrijvingSaldoKlasse
241204120Huur kantoorpand€84,200.00€ 84.200,0044=WAARDE(LINKS(A2))=WAARDE(LINKS(A2))
380008000Omzet-€1,254,300.00€ -1.254.300,00
440004000Personeelskosten€412,650.50€ 412.650,50
513001300Debiteuren€186,430.00€ 186.430,00
616001600Crediteuren-€97,210.00€ -97.210,00
7
Formulecel (D2)InvoerOpmerking: De rekeningnummers in kolom A zijn echte getallen, geen tekst.

Formule in D2

=WAARDE(LINKS(A2))
=WAARDE(LINKS(A2))

Resultaat: 44

Stap voor stap
  1. Excel rekent eerst LINKS(A2) uit. In A2 staat het getal 4120; LINKS maakt daar de tekst 4120 van, vier tekens: 4, 1, 2, 0.
  2. Er staat geen aantal_tekens, dus Excel neemt de standaardwaarde 1: alleen positie 1, en dat is de tekst 4.
  3. Zonder WAARDE zou D2 een 4 tonen die links in de cel staat. =D2=4 zou dan ONWAAR opleveren, want voor Excel zijn de tekst 4 en het getal 4 twee verschillende waarden.
  4. WAARDE maakt van de tekst 4 het getal 4. D2 toont nu een rechts uitgelijnde 4, en =D2=4 geeft WAAR.
  5. Kopieer D2 omlaag tot en met D6: 8000 levert 8, 4000 levert 4, 1300 levert 1 en 1600 levert 1. Filter je kolom D op 4, dan zie je de huur van het kantoorpand en de personeelskosten.

Let op: Zijn er rekeningnummers als tekst met een spatie vooraan binnengekomen, dan levert LINKS die spatie, en WAARDE van een spatie is #WAARDE!. Hier is die foutwaarde een nuttig signaal: maak de bronkolom eerst schoon met SPATIES.WISSEN.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten

Waarom het werkt

LINKS rekent altijd met tekst: het rekeningnummer wordt ongemerkt omgezet en wat terugkomt is tekst. Dat je aantal_tekens weglaat, klopt hier: je wilt precies één cijfer, en dat is het enige geval waarin de standaardwaarde je het werk uit handen neemt. WAARDE maakt er daarna weer een getal van, dat je kunt vergelijken en waarmee je kunt rekenen.

Meer om op te letten

  • Een rekening van vijf cijfers, zoals 12100, levert ook 1 op. Of dat de klasse is die het rekeningschema van de cliënt bedoelt, moet je nagaan: controleer dat de klasse bij elke rekening echt in het eerste cijfer zit.

Varianten

=--LINKS(A2)
=--LINKS(A2)

Twee mintekens doen dezelfde omzetting als WAARDE: het eerste maakt van de tekst een negatief getal, het tweede maakt het weer positief.

=INTEGER(A2 / 1000)
=INTEGER(A2 / 1000)

Puur rekenen, zonder tussenstap via tekst; dit gaat alleen goed zolang elke rekening precies vier cijfers heeft.

Gevorderd

Het factuurnummer uit een journaalomschrijving halen

In het inkoopdagboek van Veldhuis Installatie BV begint de omschrijving met het factuurnummer, gevolgd door een schuine streep en de naam van de leverancier. De factuurnummers zijn niet allemaal even lang. Om het grootboek af te stemmen met de crediteurenlijst wil je alleen het factuurnummer. Eén boeking is met een spatie in plaats van de streep getypt; die rij moet dat melden in plaats van een foutwaarde te tonen.

Fragment van het werkblad: in C2 staat de formule
RijABCD
1OmschrijvingDebetFactuurnr.
225-0412/Bakker Techniek€12,100.00€ 12.100,0025-0412=ALS.FOUT(LINKS(A2, VIND.ALLES("/", A2) - 1), "Geen / in omschrijving")=ALS.FOUT(LINKS(A2; VIND.ALLES("/"; A2) - 1); "Geen / in omschrijving")
325-10388/Van Dijk Groep€8,450.50€ 8.450,50
425-0455 Visser Logistiek€3,290.00€ 3.290,00
525-0471/Smit Verhuur€560.00€ 560,00
6
Formulecel (C2)Invoer

Formule in C2

=ALS.FOUT(LINKS(A2, VIND.ALLES("/", A2) - 1), "Geen / in omschrijving")
=ALS.FOUT(LINKS(A2; VIND.ALLES("/"; A2) - 1); "Geen / in omschrijving")

Resultaat: 25-0412

Stap voor stap
  1. Excel begint binnenin, bij VIND.ALLES("/"; A2). A2 bevat 25-0412/Bakker Techniek, 23 tekens. Van links geteld beslaat 25-0412 de posities 1 tot en met 7 en staat de schuine streep op 8. VIND.ALLES levert 8.
  2. Daarna de aftrekking: 8 - 1 = 7. De streep zelf hoort er niet bij, dus het aantal tekens is één minder dan de positie van de streep.
  3. LINKS(A2; 7) neemt de tekens 1 tot en met 7: 25-0412. Er is niets misgegaan, dus ALS.FOUT geeft die uitkomst ongewijzigd door en C2 toont 25-0412.
  4. In C3 vindt VIND.ALLES de streep van 25-10388/Van Dijk Groep op 9; 9 - 1 = 8, en LINKS levert 25-10388. Omdat VIND.ALLES per rij opnieuw meet, past de lengte zich vanzelf aan.
  5. In C4 gaat het om A4, 25-0455 Visser Logistiek, zonder schuine streep. VIND.ALLES vindt niets en geeft #WAARDE!. De aftrekking en LINKS geven die foutwaarde ongewijzigd door.
  6. ALS.FOUT vangt de #WAARDE! af en zet er de tekst Geen / in omschrijving voor in de plaats: het seintje dat je die boeking in de auditfile moet nakijken.

Let op: Zonder de - 1 eindigt elke uitkomst op een schuine streep: 25-0412/. Omdat dat er bijna goed uitziet, merk je het pas als de afstemming met de crediteurenlijst niets vindt.

Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten

Waarom het werkt

LINKS wil weten hoeveel tekens, en VIND.ALLES rekent dat per rij uit: de positie van het scheidingsteken min één. Met hetzelfde patroon haal je het eerste woord op (scheidingsteken spatie) of het voorvoegsel van een code (scheidingsteken streepje). ALS.FOUT staat aan de buitenkant en vangt precies de ene fout op die je hier verwacht: een ontbrekend scheidingsteken.

Meer om op te letten

  • Staat er in de omschrijving Creditnota 25-0412/Bakker Techniek, dan krijg je Creditnota 25-0412, zonder foutwaarde. LINKS knipt waar VIND.ALLES aanwijst en weet niet hoe een factuurnummer eruitziet.
  • ALS.FOUT verstopt ook fouten die je niet had voorzien, bijvoorbeeld een #N/B die al in A2 stond. Kan de bron fouten bevatten, controleer dan met ISGETAL(VIND.ALLES(...)), zoals in de variant.

Varianten

=ALS(ISGETAL(VIND.ALLES("/", A2)), LINKS(A2, VIND.ALLES("/", A2) - 1), "Geen / in omschrijving")
=ALS(ISGETAL(VIND.ALLES("/"; A2)); LINKS(A2; VIND.ALLES("/"; A2) - 1); "Geen / in omschrijving")

Controleert zelf of er een schuine streep in de omschrijving staat, zodat een andere foutwaarde in A2 zichtbaar blijft en niet wordt weggemoffeld.

=LINKS(A4, VIND.ALLES(" ", A4) - 1)
=LINKS(A4; VIND.ALLES(" "; A4) - 1)

Dezelfde opbouw met een spatie als scheidingsteken geeft het eerste woord, bijvoorbeeld 25-0455 uit de boeking zonder schuine streep.

ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)

Een lettervoorvoegsel van elke lengte afsplitsen

In de activastaat van Veldhuis Installatie BV bestaat elke activacode uit een categorievoorvoegsel van letters met daarachter cijfers, zonder scheidingsteken: MACH0147, ICT32, VERV0008. Het voorvoegsel is twee tot vijf letters lang.

Twee codes vallen buiten het patroon: één bevat geen enkel cijfer (GROND) en één begint juist met een cijfer (3D0004). Om de afschrijving per categorie te toetsen heb je het voorvoegsel nodig, en de formule moet al die gevallen aankunnen.

Fragment van het werkblad: in C2 staat de formule
RijABCD
1ActivacodeAanschafwaardeVoorvoegsel
2MACH0147€184,500.00€ 184.500,00MACH=LET( rekeningcode, A2, eersteCijfer, MIN(VIND.ALLES({0,1,2,3,4,5,6,7,8,9}, rekeningcode & "0123456789")), LINKS(rekeningcode, eersteCijfer - 1) )=LET( rekeningcode; A2; eersteCijfer; MIN(VIND.ALLES({0\1\2\3\4\5\6\7\8\9}; rekeningcode & "0123456789")); LINKS(rekeningcode; eersteCijfer - 1) )
3ICT32€6,200.00€ 6.200,00
4VERV0008€38,900.00€ 38.900,00
5GROND€250,000.00€ 250.000,00
63D0004€12,750.00€ 12.750,00
7
Formulecel (C2)Invoer

Formule in C2

=LET(
  rekeningcode, A2,
  eersteCijfer, MIN(VIND.ALLES({0,1,2,3,4,5,6,7,8,9}, rekeningcode & "0123456789")),
  LINKS(rekeningcode, eersteCijfer - 1)
)
=LET(
  rekeningcode; A2;
  eersteCijfer; MIN(VIND.ALLES({0\1\2\3\4\5\6\7\8\9}; rekeningcode & "0123456789"));
  LINKS(rekeningcode; eersteCijfer - 1)
)

Resultaat: MACH

Stap voor stap
  1. rekeningcode krijgt de waarde van A2, MACH0147. Daarna plakt Excel er met rekeningcode & "0123456789" tien cijfers achter: MACH01470123456789, 18 tekens. Daardoor komt elk cijfer minstens één keer voor.
  2. VIND.ALLES zoekt nu tien waarden tegelijk, 0 tot en met 9, en levert tien posities op: 0 op 5, 1 op 6, 2 op 11, 3 op 12, 4 op 7, 5 op 14, 6 op 15, 7 op 8, 8 op 17, 9 op 18. Een cijfer dat niet in MACH0147 zit, wordt in het aangeplakte staartje gevonden en geeft dus nooit een foutwaarde.
  3. MIN pakt de kleinste van die tien: 5. Op die plek staat het eerste cijfer van de code, dus eersteCijfer is 5.
  4. LINKS(rekeningcode; 5 - 1) wordt LINKS(rekeningcode; 4), en dat levert MACH. C2 toont MACH.
  5. In C3 staat het eerste cijfer van ICT32 op 4, dus LINKS neemt 3 tekens: ICT. Bij VERV0008 is de kleinste positie 5 en komt er VERV uit.
  6. GROND bevat geen cijfers. Alle cijfers worden in het staartje gevonden, de kleinste positie is 6, en LINKS(rekeningcode; 5) levert de hele code: GROND. 3D0004 begint met een cijfer, de kleinste positie is 1, en LINKS(rekeningcode; 0) geeft lege tekst. Dat klopt: deze code heeft geen voorvoegsel.

Let op: De omgekeerde fout is MAX in plaats van MIN. Door het aangeplakte staartje komt MAX altijd daar uit, en LINKS levert de complete code: MACH0147 blijft MACH0147. Bij een snelle blik lijkt dat een redelijke lijst voorvoegsels, maar elke rij met cijfers is fout.

Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten

Waarom het werkt

VIND.ALLES accepteert een matrix als zoeken_tekst en geeft dan een matrix met posities terug. De tien aangeplakte cijfers werken als vangnet: elke #WAARDE! die anders zou ontstaan, wordt een onschadelijke hoge positie. MIN ziet daardoor nooit een foutwaarde, en codes zonder cijfers lossen zichzelf op. Met LET geef je het enige getal dat telt een naam, de positie van het eerste cijfer, zodat de laatste LINKS leest als de regel zelf.

Gebruik dit niet als het voorvoegsel een vaste breedte heeft (LINKS(A2; 3) is duidelijker) of als een scheidingsteken de delen scheidt: kies dan TEKST.VOOR of LINKS met één VIND.ALLES.

Moet je een kolom maar één keer splitsen, dan leert Snel aanvullen (Ctrl+E) het patroon uit twee voorbeelden die je zelf typt, maar die uitkomst werkt niet bij als de gegevens veranderen.

Meer om op te letten

  • Laat je & "0123456789" weg, dan levert VIND.ALLES #WAARDE! op voor elk cijfer dat niet in de code voorkomt. Zit er één foutwaarde in de matrix, dan geeft MIN ook een foutwaarde, en dus loopt bijna elke rij vast.
  • Een code met een kleine letter achter de cijfers, zoals MACH0147b, levert nog steeds MACH op, en dat is goed. Maar zit er een cijfer in het voorvoegsel, zoals bij P2P0012, dan krijg je P. Voor deze formule is het voorvoegsel alles vóór het eerste cijfer; ga na of de activacodes van de cliënt zich aan die regel houden.

Varianten

=LINKS(A2, MIN(VIND.ALLES({0,1,2,3,4,5,6,7,8,9}, A2 & "0123456789")) - 1)
=LINKS(A2; MIN(VIND.ALLES({0\1\2\3\4\5\6\7\8\9}; A2 & "0123456789")) - 1)

Dezelfde logica zonder LET, voor een hulpkolom in Excel-versies van vóór 2021.

=DEEL(A2, MIN(VIND.ALLES({0,1,2,3,4,5,6,7,8,9}, A2 & "0123456789")), 100)
=DEEL(A2; MIN(VIND.ALLES({0\1\2\3\4\5\6\7\8\9}; A2 & "0123456789")); 100)

De andere helft: DEEL vanaf het eerste cijfer geeft het cijferdeel, 0147.

Veelgemaakte fouten

Veelgemaakte fouten
SymptoomOorzaakOplossing
Alleen de eerste letter van de codeJe schreef =LINKS(A2) en verwachtte de hele code, maar kreeg alleen de eerste letter.aantal_tekens staat standaard op 1, niet op de volledige lengte. Vul het tweede argument dus altijd in, behalve als je echt maar één teken wilt.
46 in plaats van het jaartalLINKS op een datum levert 46 op in plaats van het jaartal.Excel slaat een datum op als serieel getal (in 2026 iets boven de 46000), en dat getal leest LINKS. Voor het jaar gebruik je JAAR; wil je tekst, dan TEKST met een notatiecode.

Gebruikt in combinaties

  • De klant opzoeken met een regexHaal het factuurnummer met REGEXEXTRACT uit een bankomschrijving, maak er een patroon van en laat X.ZOEKEN dat patroon vergelijken met een factuurlijst waarin nummers op verschillende manieren zijn getypt.Excel voor Microsoft 365 (Deze combinatie vereist Excel voor Microsoft 365)