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

HOOFDLETTERS

UPPER in Engelstalige Excel

Zet elke letter in een tekst om in een hoofdletter en laat cijfers, spaties en leestekens ongemoeid.

Moeilijkheidsgraad 1 van 5. Eén argument zonder opties; wat je vooral moet weten, is dat Excel zelf zelden op hoofdletters let, en wanneer ze dan wél verschil maken.

Laatst bijgewerkt: 13 oktober 2026

Bekijk de uitgewerkte voorbeelden

Fragment van het werkblad: in D2 staat de formule
RijABCD
1Dagboek zoals getyptBoekstukBedragDagboek
2vrk25-0412€12,100.00€ 12.100,00VRK=HOOFDLETTERS(A2)=HOOFDLETTERS(A2)
3Ink25-0413€3,025.00€ 3.025,00
4BNK25-0414€8,470.00€ 8.470,00
5mem25-0415€1,500.00€ 1.500,00
6Vrk25-0416€6,050.00€ 6.050,00
Formulecel (D2)Invoer

Resultaat: VRK

=HOOFDLETTERS(A2)
=HOOFDLETTERS(A2)

Wat HOOFDLETTERS doet en wanneer je het gebruikt

Wat het doet: het zet elke letter van een tekst om in een hoofdletter, bijvoorbeeld ink-25 in INK-25. Cijfers, spaties en koppeltekens blijven staan.

Wanneer je het gebruikt: voor codes die mensen met de hand typen, zoals productcodes of batchnummers, als de tekst naar een hoofdlettergevoelig systeem gaat, je vergelijkt met GELIJK of zoekt met VIND.ALLES, of een lijst er overal hetzelfde uit moet zien. Zoekfuncties en AANTAL.ALS letten niet op hoofdletters, dus voor een zoekformule heb je het zelden nodig. Voor namen en titels is BEGINLETTERS geschikter.

Hoe Excel de functie berekent

Excel kijkt eerst naar het argument. Bij een celverwijzing pakt het de waarde uit die cel; is de cel leeg, dan krijg je een lege tekst.

Daarna gaat Excel de tekst teken voor teken langs: elke kleine letter wordt een hoofdletter, ook letters met een accent zoals é, en alle andere tekens gaan ongewijzigd mee. Het resultaat is altijd tekst, ook als je er een getal in stopte, en het is een nieuwe waarde: de oorspronkelijke cel blijft zoals hij was.

Let op: = en <> in Excel negeren hoofdletters, dus =HOOFDLETTERS(A2)=HOOFDLETTERS(B2) en A2<>HOOFDLETTERS(A2) laten nooit een verschil in hoofdletters zien; gebruik daarvoor GELIJK.

Denkmodel

De Caps Lock-toets voor één cel: alleen letters reageren erop.

Begrippen op deze pagina: celverwijzing, argument, cel

HOOFDLETTERS(tekst)
HOOFDLETTERS(tekst)
Argumenten
ArgumentSoortBetekenis
tekstVerplichtDe tekst die je wilt omzetten; een celverwijzing of tekst tussen aanhalingstekens.

Geeft terug:Tekst: de tekst in hoofdletters

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

Dagboekcodes gelijktrekken

In de XAF-auditfile van Veldhuis Installatie BV staan dagboekcodes die verschillende mensen op hun eigen manier hebben getypt: vrk, Ink, BNK, mem. Je wilt in een draaitabel het aantal boekingen en de totalen per dagboek zien, en dan moet er één groep VRK zijn en niet meerdere schrijfwijzen. In een extra kolom zet je elke dagboekcode in hoofdletters.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1Dagboek zoals getyptBoekstukBedragDagboek
2vrk25-0412€12,100.00€ 12.100,00VRK=HOOFDLETTERS(A2)=HOOFDLETTERS(A2)
3Ink25-0413€3,025.00€ 3.025,00
4BNK25-0414€8,470.00€ 8.470,00
5mem25-0415€1,500.00€ 1.500,00
6Vrk25-0416€6,050.00€ 6.050,00
7
Formulecel (D2)Invoer

Formule in D2

=HOOFDLETTERS(A2)
=HOOFDLETTERS(A2)

Resultaat: VRK

Stap voor stap
  1. Excel leest A2 en vindt de tekst vrk, drie tekens lang.
  2. Excel gaat de tekens één voor één langs: v wordt V, r wordt R, k wordt K. Alle drie zijn letters, dus alle drie veranderen.
  3. Het resultaat in D2 is VRK. A2 bevat nog steeds vrk; HOOFDLETTERS heeft een nieuwe waarde gemaakt en de bron niet aangepast, zodat de export blijft zoals je hem kreeg.
  4. Kopieer D2 naar beneden tot D6: Ink wordt INK, BNK blijft BNK, mem wordt MEM en Vrk wordt VRK. Rij 2 en rij 6 tonen nu dezelfde code, dus een draaitabel op kolom D groepeert ze: VRK telt 12,10012.100 + 6,0506.050 = 18,15018.150.

Let op: Is A2 leeg, dan toont D2 een lege tekst, geen 0. Voor de weergave is dat prima, maar AANTALARG telt de cel als gevuld, waardoor een telling van journaalregels te hoog kan uitvallen.

Meer over dit voorbeeld: waarom het werkt, 1 variant

Waarom het werkt

HOOFDLETTERS komt alleen aan letters, dus een code houdt zijn vorm en de cijfers en koppeltekens eromheen blijven staan. Omdat het resultaat een nieuwe tekstwaarde is, bewaar je de getypte versie als bewijs van wat de cliënt heeft aangeleverd en gebruik je de schone kolom voor je analyse.

Varianten

=HOOFDLETTERS(A2:A6)
=HOOFDLETTERS(A2:A6)

In Excel 2021 of Microsoft 365 levert één formule in D2 alle vijf codes tegelijk op, die overlopen naar D3:D6; je hoeft niets naar beneden te kopiëren.

Halfgevorderd

Relatiecodes opschonen voor de koppeling met de subadministratie

Je sluit de openstaande posten uit de ouderdomsanalyse debiteuren en crediteuren aan op het grootboek. De cliënt heeft de relatiecodes met de hand getypt: d1001, C2001 en enkele met een losse spatie voor of achter de code. De subadministratie heeft D1001 en C2001 in hoofdletters en zonder spaties, en je hoofdlettergevoelige koppelprogramma weigert elke rij die afwijkt.

Je wilt een kolom met codes die wel passen, zonder iets opnieuw te typen.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1Relatie zoals getyptFactuurnummerOpenstaandRelatie
2d1001F2025-0871€4,235.00€ 4.235,00D1001=HOOFDLETTERS(SPATIES.WISSEN(A2))=HOOFDLETTERS(SPATIES.WISSEN(A2))
3C2001F2025-0412€1,815.00€ 1.815,00
4d1003F2025-0905€9,680.00€ 9.680,00
5c2004F2025-0377€605.00€ 605,00
6D1001F2025-0918€2,420.00€ 2.420,00
7
Formulecel (D2)InvoerTekens: extra spatieOpmerking: A2 begint met een spatie en A4 en A6 eindigen ermee; op het scherm zien alle drie er normaal uit.

Formule in D2

=HOOFDLETTERS(SPATIES.WISSEN(A2))
=HOOFDLETTERS(SPATIES.WISSEN(A2))

Resultaat: D1001

Stap voor stap
  1. Excel berekent eerst de binnenste functie. SPATIES.WISSEN leest A2 (een spatie en dan d1001, zes tekens) en haalt de spatie vooraan weg: d1001.
  2. HOOFDLETTERS krijgt d1001 en zet de enige letter om: D1001.
  3. D2 toont D1001, vijf tekens, hetzelfde als de code in de subadministratie.
  4. Zonder SPATIES.WISSEN zou de formule een spatie plus D1001 opleveren, zes tekens. In de cel lijkt dat goed, maar het koppelprogramma weigert het toch; daarom moet de spatie er eerst af.
  5. Kopieer D2 naar beneden: C2001 blijft C2001, d1003 met een spatie erachter wordt D1003, c2004 wordt C2004, en D1001 met een spatie erachter wordt D1001. Rij 2 en rij 6 hebben nu dezelfde relatiecode, zodat je de openstaande posten per relatie kunt optellen.

Let op: Een vaste spatie die je uit een pdf of webportaal kopieert, blijft na SPATIES.WISSEN staan. Heeft een opgeschoonde code nog zes tekens, controleer dan met LENGTE; op de pagina over SPATIES.WISSEN lees je hoe je die spatie weghaalt.

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

Waarom het werkt

Twee problemen, twee functies, van binnen naar buiten: SPATIES.WISSEN neemt de spaties voor zijn rekening, HOOFDLETTERS de kleine letters. Hier doen hoofdletters er echt toe: niet voor Excel, dat d1001 en D1001 zonder morren als gelijk ziet, maar voor het programma of systeem dat je bestand ontvangt.

Meer om op te letten

  • HOOFDLETTERS controleert niets: een typefout als D1O01 (letter O in plaats van nul) blijft D1O01 en past bij geen enkele relatie. Vergelijk het resultaat met de relatielijst via AANTAL.ALS en zoek de codes uit die 0 opleveren.

Varianten

=SPATIES.WISSEN(HOOFDLETTERS(A2))
=SPATIES.WISSEN(HOOFDLETTERS(A2))

De volgorde maakt hier niet uit, want de ene functie komt niet aan wat de andere verandert. Gebruikelijk is wel om eerst schoon te maken, zodat wie de formule later leest die stap als eerste ziet.

Gevorderd

Tellen hoeveel factuurnummers nog niet in hoofdletters staan

Je koppelt de facturen uit de crediteurenadministratie aan het grootboek in een programma dat f2025-0872 en F2025-0872 als twee verschillende facturen ziet, zodat ze als verschil in je controle verschijnen.

Voordat je de lijst inlaadt, wil je één getal: hoeveel factuurnummers nog niet helemaal in hoofdletters staan. De voor de hand liggende test, A2<>HOOFDLETTERS(A2), geeft voor elke rij ONWAAR, omdat <> niet naar hoofdletters kijkt; GELIJK doet dat wel.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1FactuurnummerBedragRijen om te corrigeren
2F2025-0871€4,235.00€ 4.235,0033=SOMPRODUCT(1 - GELIJK(A2:A7, HOOFDLETTERS(A2:A7)))=SOMPRODUCT(1 - GELIJK(A2:A7; HOOFDLETTERS(A2:A7)))
3f2025-0872€1,815.00€ 1.815,00
4F2025-0873a€9,680.00€ 9.680,00
5F2025-0874€605.00€ 605,00
6F2025-0875€2,420.00€ 2.420,00
7f2025-0876€7,260.00€ 7.260,00
8
Formulecel (D2)Invoer

Formule in D2

=SOMPRODUCT(1 - GELIJK(A2:A7, HOOFDLETTERS(A2:A7)))
=SOMPRODUCT(1 - GELIJK(A2:A7; HOOFDLETTERS(A2:A7)))

Resultaat: 33

Stap voor stap
  1. Excel begint met de binnenste functie. HOOFDLETTERS(A2:A7) levert een matrix van zes waarden: F2025-0871, F2025-0872, F2025-0873A, F2025-0874, F2025-0875, F2025-0876.
  2. GELIJK vergelijkt elk origineel hoofdlettergevoelig met zijn hoofdletterversie: F2025-0871 is gelijk aan F2025-0871, WAAR; f2025-0872 tegenover F2025-0872, ONWAAR; F2025-0873a tegenover F2025-0873A, ONWAAR; dan WAAR, WAAR, ONWAAR. De matrix is {WAAR;ONWAAR;ONWAAR;WAAR;WAAR;ONWAAR}.
  3. 1 - WAAR is 0 en 1 - ONWAAR is 1, dus na de aftrekking staat er {0;1;1;0;0;1}: een 1 voor elke rij die nog gecorrigeerd moet worden.
  4. SOMPRODUCT telt de matrix op: 0 + 1 + 1 + 0 + 0 + 1 = 3. D2 toont 3.
  5. Verbeter A3 in F2025-0872 en het aantal zakt naar 2, zonder dat je aan de formule komt.

Let op: =SOMPRODUCT(--(A2:A7<>HOOFDLETTERS(A2:A7))) lijkt hetzelfde, maar geeft bij welke gegevens dan ook stilletjes 0, omdat <> geen onderscheid maakt tussen hoofdletters en kleine letters. Er komt geen foutmelding die je waarschuwt, en je zou een schone lijst rapporteren die niet schoon is.

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

Waarom het werkt

GELIJK is een van de weinige plekken in Excel waar hoofdletters meetellen; vergelijk je een waarde met zijn eigen hoofdletterversie, dan weet je of hij al in hoofdletters stond. De aftrekking van 1 doet twee dingen tegelijk: ze draait de logica om (1 betekent fout) en maakt van WAAR/ONWAAR getallen die SOMPRODUCT kan optellen.

Meer om op te letten

  • Een rij met een spatie aan het eind telt als goed: GELIJK vergelijkt F2025-0871 plus spatie met de hoofdletterversie, en daar staat dezelfde spatie achter. Zijn spaties ook een probleem, combineer dan met SPATIES.WISSEN.

Varianten

=ALS(GELIJK(A2, HOOFDLETTERS(A2)), "OK", "Corrigeren")
=ALS(GELIJK(A2; HOOFDLETTERS(A2)); "OK"; "Corrigeren")

De versie per rij: zet hem in C2 en kopieer naar beneden om te zien welke rijen fout zijn, niet alleen hoeveel.

=SOMPRODUCT(--NIET(GELIJK(A2:A7, HOOFDLETTERS(A2:A7))))
=SOMPRODUCT(--NIET(GELIJK(A2:A7; HOOFDLETTERS(A2:A7))))

Hetzelfde resultaat met NIET en het dubbele minteken; langer, maar de bedoeling leest als een zin.

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

Gemengde betalingskenmerken in hoofdletters zonder de getallen te breken

Je koppelt de ontvangsten op het bankafschrift aan de openstaande debiteurenposten. In de kolom betalingskenmerk staan numerieke kenmerken uit het oude systeem, zoals 88123, door elkaar met tekstkenmerken uit het nieuwe, zoals inv-2041.

Voor het koppelbestand moeten de tekstkenmerken in hoofdletters en zonder overbodige spaties, maar de getallen moeten getallen blijven, omdat je X.ZOEKEN in de debiteurenlijst op numerieke sleutels zoekt. Met alleen HOOFDLETTERS wordt 88123 ongemerkt de tekst 88123, en dan komt elke numerieke sleutel terug als niet gevonden.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1KenmerkBedragSchoon kenmerk
2inv-2041€1,210.00€ 1.210,00INV-2041=LET( verwijzingen, A2:A7, isTekstwaarde, ISTEKST(verwijzingen), ALS(isTekstwaarde, HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)), verwijzingen) )=LET( verwijzingen; A2:A7; isTekstwaarde; ISTEKST(verwijzingen); ALS(isTekstwaarde; HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)); verwijzingen) )
38812388123€450.50€ 450,508812388123
4Inv-2044€3,100.00€ 3.100,00INV-2044
58813088130€990.00€ 990,008813088130
6inv-2046€122.25€ 122,25INV-2046
7INV-2050€5,000.00€ 5.000,00INV-2050
8
Formulecel (D2)InvoerOverloopresultaatTekens: extra spatieOpmerking: A6 begint met een spatie. De waarden in A3 en A5 zijn echte getallen, geen tekst.

Formule in D2

=LET(
  verwijzingen, A2:A7,
  isTekstwaarde, ISTEKST(verwijzingen),
  ALS(isTekstwaarde, HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)), verwijzingen)
)
=LET(
  verwijzingen; A2:A7;
  isTekstwaarde; ISTEKST(verwijzingen);
  ALS(isTekstwaarde; HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)); verwijzingen)
)

Resultaat: INV-2041 / 88123 / INV-2044 / 88130 / INV-2046 / INV-2050INV-2041 / 88123 / INV-2044 / 88130 / INV-2046 / INV-2050

Stap voor stap
  1. LET geeft het bereik A2:A7 de naam verwijzingen. Er wordt nog niets berekend; de naam is alleen een etiket voor de zes cellen.
  2. isTekstwaarde is ISTEKST(verwijzingen), berekend voor elke cel: {WAAR;ONWAAR;WAAR;ONWAAR;WAAR;WAAR}. De twee getallen, 88123 en 88130, zijn de ONWAAR-waarden.
  3. ALS berekent beide takken als matrix. Voor de WAAR-rijen neemt ALS de uitkomst van HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)): inv-2041 wordt INV-2041, Inv-2044 wordt INV-2044, bij inv-2046 verdwijnt eerst de spatie vooraan en wordt de rest INV-2046, en INV-2050 blijft gelijk.
  4. Voor de ONWAAR-rijen geeft ALS verwijzingen zelf terug, dus 88123 en 88130 komen door als de getallen die ze waren. HOOFDLETTERS krijgt ze nooit te zien.
  5. Het resultaat is een matrix van zes rijen die overloopt van D2 tot D7. D3 en D5 zijn rechts uitgelijnde getallen; =AANTAL(D2:D7) geeft 2, één voor 88123 en één voor 88130, terwijl een kolom met tekst 0 zou opleveren.
  6. Typ 88140 in A2 en D2 wordt het getal 88140; typ inv-2060 en D2 wordt INV-2060. De test gebeurt per cel, bij elke herberekening opnieuw.

Let op: De omgekeerde fout, ISGETAL(verwijzingen) als test, wisselt de takken om: de getallen gaan naar HOOFDLETTERS en worden tekst, de tekst blijft zoals getypt. Er verschijnt geen fout, en de koppeling ziet er goed uit tot ontvangsten waarvan je weet dat ze bestaan als niet gevonden terugkomen.

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

Waarom het werkt

HOOFDLETTERS maakt tekst van alles wat je erin stopt, getallen en datums inbegrepen; een getal blijft alleen een getal als HOOFDLETTERS er niet aan komt. ISTEKST beslist per cel, en ALS met matrixargumenten kiest per cel een tak, dus één formule kan een gemengde kolom aan. LET maakt die keuze leesbaar en berekent het bereik maar één keer.

Gebruik deze opbouw niet als de hele kolom uit tekst bestaat: =HOOFDLETTERS(SPATIES.WISSEN(A2:A7)) doet dan hetzelfde met minder leeswerk.

Voor importbestanden die steeds terugkomen is de hoofdletterbewerking in Power Query het alternatief; dat is netter bij grote bestanden, maar wordt pas bijgewerkt als je vernieuwt, en in een kolom met zowel getallen als tekst moet je eerst controleren wat die bewerking met de getallen doet.

Meer om op te letten

  • Een getal dat als tekst is opgeslagen (een apostrof vooraan na een import) is voor ISTEKST ook tekst en blijft dus tekst. Moeten dat echte getallen worden, voeg dan WAARDE toe voor de rijen die alleen uit cijfers bestaan.
  • D2:D7 moet leeg zijn voordat je de formule invoert, anders krijg je #OVERLOPEN!.

Varianten

=ALS(ISTEKST(A2), HOOFDLETTERS(SPATIES.WISSEN(A2)), A2)
=ALS(ISTEKST(A2); HOOFDLETTERS(SPATIES.WISSEN(A2)); A2)

De versie per cel om naar beneden te kopiëren, voor werkmappen die in Excel 2019 of ouder worden geopend, waar formules niet overlopen.

=HOOFDLETTERS(SPATIES.WISSEN(A2:A7))
=HOOFDLETTERS(SPATIES.WISSEN(A2:A7))

Als elk kenmerk tekst is: korter, en er zijn geen getallen om te beschermen.

Veelgemaakte fouten

Veelgemaakte fouten
SymptoomOorzaakOplossing
#VERW! na het verwijderen van de bronkolomJe zette =HOOFDLETTERS(A2) naast de kolom, verwijderde daarna kolom A, en nu toont de nieuwe kolom #VERW!.Kopieer de formulekolom en plak hem als waarden voordat je het origineel weghaalt. De formule verwijst alleen naar de bron; hij komt er niet voor in de plaats.
Datums worden getallen als 46112Je hebt HOOFDLETTERS op een kolom met datums losgelaten en ziet nu getallen als 46112 in plaats van datums.Een datum is een getal, en HOOFDLETTERS maakt van een getal tekst. Laat datums met rust, of zet ze eerst met TEKST om als je een maandnaam in hoofdletters wilt.
HOOFDLETTERS aan beide kanten verandert nietsJe zette HOOFDLETTERS aan beide kanten van een vergelijking, =HOOFDLETTERS(A2)=HOOFDLETTERS(B2), om een verschil weg te werken, maar er veranderde niets.

Zijn twee waarden dan nog steeds verschillend, dan zit het probleem ergens anders:

  • een spatie aan het eind
  • een vaste spatie
  • een getal dat als tekst is opgeslagen

Begin met SPATIES.WISSEN en LENGTE.