HOOFDLETTERS
UPPER in Engelstalige Excel
Zet elke letter in een tekst om in een hoofdletter en laat cijfers, spaties en leestekens ongemoeid.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Dagboek zoals getypt | Boekstuk | Bedrag | Dagboek |
| 2 | vrk | 25-0412 | €12,100.00€ 12.100,00 | VRK=HOOFDLETTERS(A2)=HOOFDLETTERS(A2) |
| 3 | Ink | 25-0413 | €3,025.00€ 3.025,00 | |
| 4 | BNK | 25-0414 | €8,470.00€ 8.470,00 | |
| 5 | mem | 25-0415 | €1,500.00€ 1.500,00 | |
| 6 | Vrk | 25-0416 | €6,050.00€ 6.050,00 |
Veeg opzij om alle kolommen te zien
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)
| Argument | Soort | Betekenis |
|---|---|---|
tekst | Verplicht | De 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.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Dagboek zoals getypt | Boekstuk | Bedrag | Dagboek | |
| 2 | vrk | 25-0412 | €12,100.00€ 12.100,00 | VRK=HOOFDLETTERS(A2)=HOOFDLETTERS(A2) | |
| 3 | Ink | 25-0413 | €3,025.00€ 3.025,00 | ||
| 4 | BNK | 25-0414 | €8,470.00€ 8.470,00 | ||
| 5 | mem | 25-0415 | €1,500.00€ 1.500,00 | ||
| 6 | Vrk | 25-0416 | €6,050.00€ 6.050,00 | ||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=HOOFDLETTERS(A2)
=HOOFDLETTERS(A2)
Resultaat: VRK
Stap voor stap
- Excel leest
A2en vindt de tekstvrk, drie tekens lang. - 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.
- Het resultaat in
D2isVRK.A2bevat nog steedsvrk; HOOFDLETTERS heeft een nieuwe waarde gemaakt en de bron niet aangepast, zodat de export blijft zoals je hem kreeg. - Kopieer
D2naar beneden totD6:InkwordtINK,BNKblijftBNK,memwordtMEMenVrkwordtVRK. Rij 2 en rij 6 tonen nu dezelfde code, dus een draaitabel op kolom D groepeert ze:VRKtelt 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.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Relatie zoals getypt | Factuurnummer | Openstaand | Relatie | |
| 2 | d1001 | F2025-0871 | €4,235.00€ 4.235,00 | D1001=HOOFDLETTERS(SPATIES.WISSEN(A2))=HOOFDLETTERS(SPATIES.WISSEN(A2)) | |
| 3 | C2001 | F2025-0412 | €1,815.00€ 1.815,00 | ||
| 4 | d1003 | F2025-0905 | €9,680.00€ 9.680,00 | ||
| 5 | c2004 | F2025-0377 | €605.00€ 605,00 | ||
| 6 | D1001 | F2025-0918 | €2,420.00€ 2.420,00 | ||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=HOOFDLETTERS(SPATIES.WISSEN(A2))
=HOOFDLETTERS(SPATIES.WISSEN(A2))
Resultaat: D1001
Stap voor stap
- Excel berekent eerst de binnenste functie. SPATIES.WISSEN leest
A2(een spatie en dand1001, zes tekens) en haalt de spatie vooraan weg:d1001. - HOOFDLETTERS krijgt
d1001en zet de enige letter om:D1001. D2toontD1001, vijf tekens, hetzelfde als de code in de subadministratie.- Zonder SPATIES.WISSEN zou de formule een spatie plus
D1001opleveren, zes tekens. In de cel lijkt dat goed, maar het koppelprogramma weigert het toch; daarom moet de spatie er eerst af. - Kopieer
D2naar beneden:C2001blijftC2001,d1003met een spatie erachter wordtD1003,c2004wordtC2004, enD1001met een spatie erachter wordtD1001. 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.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Factuurnummer | Bedrag | Rijen om te corrigeren | ||
| 2 | F2025-0871 | €4,235.00€ 4.235,00 | 33=SOMPRODUCT(1 - GELIJK(A2:A7, HOOFDLETTERS(A2:A7)))=SOMPRODUCT(1 - GELIJK(A2:A7; HOOFDLETTERS(A2:A7))) | ||
| 3 | f2025-0872 | €1,815.00€ 1.815,00 | |||
| 4 | F2025-0873a | €9,680.00€ 9.680,00 | |||
| 5 | F2025-0874 | €605.00€ 605,00 | |||
| 6 | F2025-0875 | €2,420.00€ 2.420,00 | |||
| 7 | f2025-0876 | €7,260.00€ 7.260,00 | |||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in D2
=SOMPRODUCT(1 - GELIJK(A2:A7,HOOFDLETTERS(A2:A7)))
=SOMPRODUCT(1 - GELIJK(A2:A7;HOOFDLETTERS(A2:A7)))
Resultaat: 33
Stap voor stap
- 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. - GELIJK vergelijkt elk origineel hoofdlettergevoelig met zijn hoofdletterversie:
F2025-0871is gelijk aanF2025-0871, WAAR;f2025-0872tegenoverF2025-0872, ONWAAR;F2025-0873ategenoverF2025-0873A, ONWAAR; dan WAAR, WAAR, ONWAAR. De matrix is {WAAR;ONWAAR;ONWAAR;WAAR;WAAR;ONWAAR}. - 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.
- SOMPRODUCT telt de matrix op: 0 + 1 + 1 + 0 + 0 + 1 = 3.
D2toont 3. - Verbeter
A3inF2025-0872en 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-0871plus 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.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Kenmerk | Bedrag | Schoon kenmerk | ||
| 2 | inv-2041 | €1,210.00€ 1.210,00 | INV-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) ) | ||
| 3 | 8812388123 | €450.50€ 450,50 | 8812388123 | ||
| 4 | Inv-2044 | €3,100.00€ 3.100,00 | INV-2044 | ||
| 5 | 8813088130 | €990.00€ 990,00 | 8813088130 | ||
| 6 | inv-2046 | €122.25€ 122,25 | INV-2046 | ||
| 7 | INV-2050 | €5,000.00€ 5.000,00 | INV-2050 | ||
| 8 |
Veeg opzij om alle kolommen te zien
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
- LET geeft het bereik
A2:A7de naam verwijzingen. Er wordt nog niets berekend; de naam is alleen een etiket voor de zes cellen. - isTekstwaarde is ISTEKST(verwijzingen), berekend voor elke cel: {WAAR;ONWAAR;WAAR;ONWAAR;WAAR;WAAR}. De twee getallen,
88123en88130, zijn de ONWAAR-waarden. - ALS berekent beide takken als matrix. Voor de WAAR-rijen neemt ALS de uitkomst van HOOFDLETTERS(SPATIES.WISSEN(verwijzingen)):
inv-2041wordtINV-2041,Inv-2044wordtINV-2044, bijinv-2046verdwijnt eerst de spatie vooraan en wordt de restINV-2046, enINV-2050blijft gelijk. - Voor de ONWAAR-rijen geeft ALS verwijzingen zelf terug, dus
88123en88130komen door als de getallen die ze waren. HOOFDLETTERS krijgt ze nooit te zien. - Het resultaat is een matrix van zes rijen die overloopt van
D2totD7.D3enD5zijn rechts uitgelijnde getallen; =AANTAL(D2:D7) geeft 2, één voor88123en één voor88130, terwijl een kolom met tekst 0 zou opleveren. - Typ
88140inA2enD2wordt het getal88140; typinv-2060enD2wordtINV-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:D7moet 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
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| #VERW! na het verwijderen van de bronkolom | Je 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 46112 | Je 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 niets | Je 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:
Begin met SPATIES.WISSEN en LENGTE. |