Hoe Excel kolomnummer naar letter converteren

  • Deel Dit
Michael Brown

In deze handleiding bekijken we hoe u Excel kolomnummers kunt veranderen in de corresponderende alfabetische tekens.

Bij het maken van complexe formules in Excel moet u soms een kolomletter van een specifieke cel of van een bepaald getal krijgen. Dat kan op twee manieren: met ingebouwde functies of met een aangepaste functie.

    Hoe kolomnummer omzetten in alfabet (kolommen met één letter)

    Indien de kolomnaam uit één letter bestaat, van A tot Z, kunt u die krijgen met deze eenvoudige formule:

    CHAR(64 + col_nummer )

    Om bijvoorbeeld nummer 10 om te zetten in een kolomletter, is de formule:

    =CHAR(64 + 10)

    Het is ook mogelijk een getal in een cel in te voeren en in uw formule naar die cel te verwijzen:

    =CHAR(64 + A2)

    Hoe deze formule werkt:

    De CHAR-functie geeft een teken terug op basis van de tekencode in de ASCII-set. De ASCII-waarden van de hoofdletters van het Engelse alfabet zijn 65 (A) tot 90 (Z). Dus om de tekencode van hoofdletter A te krijgen, tel je 1 bij 64 op; om de tekencode van hoofdletter B te krijgen, tel je 2 bij 64 op, enzovoort.

    Hoe Excel kolomnummer converteren naar letter (elke kolom)

    Als u op zoek bent naar een veelzijdige formule die werkt voor elke kolom in Excel (1 letter, 2 letter en 3 letter), dan zult u een iets complexere syntaxis moeten gebruiken:

    SUBSTITUTE(ADRES(1, col_nummer , 4), "1", "")

    Met de kolomletter in A2 neemt de formule deze vorm aan:

    =SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")

    Hoe deze formule werkt:

    Eerst construeert u een celadres met het gewenste kolomnummer. Hiervoor geeft u de volgende argumenten aan de functie ADDRESS:

    • 1 voor rij_nummer (het rijnummer doet er niet echt toe, dus u kunt om het even welke gebruiken).
    • A2 (de cel met het kolomnummer) voor kolom_nummer .
    • 4 voor abs_num argument om een relatieve verwijzing terug te geven.

    Met bovenstaande parameters geeft de functie ADDRESS de tekststring "A1" als resultaat.

    Omdat we alleen een kolomletter nodig hebben, strippen we het rijnummer met behulp van de functie SUBSTITUTE, die zoekt naar "1" (of welk rijnummer u ook hard gecodeerd hebt in de ADDRESS-functie) in de tekst "A1" en deze vervangt door een lege tekenreeks ("").

    Kolomletter uit kolomnummer halen met aangepaste functie Aangepaste functie

    Als u regelmatig kolomnummers moet omzetten in alfabetische tekens, kan een aangepaste, door de gebruiker gedefinieerde functie (UDF) uw tijd enorm besparen.

    De code van de functie is vrij duidelijk en eenvoudig:

    Openbare functie ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End Function

    Hier gebruiken we de Cellen eigenschap om te verwijzen naar een cel in rij 1 en het opgegeven kolomnummer en de Adres eigenschap om een tekenreeks terug te geven die een absolute verwijzing naar die cel bevat (zoals $A$1). Vervolgens breekt de functie Splitsen de teruggegeven tekenreeks in afzonderlijke elementen met het $-teken als scheidingsteken, en geven we element (1) terug, dat is de kolomletter.

    Plak de code in de VBA-editor, en uw nieuwe KolomLetter functie is klaar voor gebruik. Zie voor gedetailleerde aanwijzingen: Hoe VBA-code in Excel invoegen.

    Voor de eindgebruiker is de syntaxis van de functie zo eenvoudig:

    KolomLetter(col_num)

    Waar col_num is het kolomnummer dat u wilt omzetten in een letter.

    Uw echte formule kan er als volgt uitzien:

    =KolomLetter(A2)

    En het zal precies dezelfde resultaten opleveren als de in het vorige voorbeeld besproken native Excel-functies:

    Hoe krijg ik de kolomletter van een bepaalde cel

    Om een kolomletter van een specifieke cel te identificeren, gebruikt u de functie COLUMN om het kolomnummer op te halen, en dient dat nummer aan de functie ADDRESS. De volledige formule krijgt deze vorm:

    SUBSTITUTE(ADRES(1, KOLOM( cel_adres ), 4), "1", "")

    Laten we als voorbeeld een kolomletter van cel C5 zoeken:

    =SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")

    Uiteraard is het resultaat "C" :)

    Hoe krijg ik de kolomletter van de huidige cel

    Om de letter van de huidige cel uit te rekenen, is de formule bijna hetzelfde als in het bovenstaande voorbeeld. Het enige verschil is dat de functie COLUMN() wordt gebruikt met een leeg argument om te verwijzen naar de cel waar de formule staat:

    =SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")

    Hoe dynamische bereikreferentie maken van kolomnummer

    Hopelijk hebben de voorgaande voorbeelden u wat nieuwe stof tot nadenken gegeven, maar misschien vraagt u zich af wat de praktische toepassingen zijn.

    In dit voorbeeld laten we zien hoe u de formule "kolomnummer naar letter" kunt gebruiken voor het oplossen van echte taken. We maken met name een dynamische XLOOKUP-formule die waarden uit een specifieke kolom haalt op basis van het nummer ervan.

    Stel dat u uit de onderstaande voorbeeldtabel een winstcijfer wilt halen voor een bepaald project (H2) en een bepaalde week (H3).

    Om de taak te volbrengen, moet je XLOOKUP het bereik geven van waaruit de waarden moeten worden geretourneerd. Omdat we alleen het weeknummer hebben, dat overeenkomt met het kolomnummer, gaan we dat nummer eerst omzetten in een kolomletter, en dan de bereikverwijzing construeren.

    Laten we voor het gemak het hele proces opsplitsen in 3 gemakkelijk te volgen stappen.

    1. Zet een kolomnummer om in een letter

      Met het kolomnummer in H3 gebruikt u de reeds bekende formule om het te veranderen in een alfabetisch teken:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")

      Tip: Als het nummer in uw dataset niet overeenkomt met het kolomnummer, moet u de vereiste correctie aanbrengen. Als we bijvoorbeeld de gegevens van week 1 in kolom B hadden, de gegevens van week 2 in kolom C, enzovoort, dan zouden we H3+1 gebruiken om het juiste kolomnummer te krijgen.

    2. Construeer een string die een bereikreferentie voorstelt

      Om een bereikverwijzing in de vorm van een tekenreeks te maken, voegt u de kolomletter die de bovenstaande formule oplevert, samen met het nummer van de eerste en de laatste rij. In ons geval bevinden de gegevenscellen zich in rijen 3 tot en met 8, dus gebruiken we deze formule:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"

      Aangezien H3 "3" bevat, die wordt omgezet in "C", ondergaat onze formule de volgende transformatie:

      ="C"&"3:"&"C"&"8"

      En produceert de string C3:C8.

    3. Maak een referentie dynamisch bereik

      Om een tekststring om te zetten in een geldige referentie die Excel kan begrijpen, nestelt u de bovenstaande formule in de functie INDIRECT en geeft u deze vervolgens door aan het derde argument van XLOOKUP:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4), "Niet gevonden")

      Om af te komen van een extra cel die de tekenreeks van het retourbereik bevat, kunt u de formule SUBSTITUTE ADDRESS in de functie INDIRECT zelf plaatsen:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Niet gevonden").

    Met onze aangepaste functie ColumnLetter krijgt u een compactere en elegantere oplossing:

    =XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Niet gevonden")

    Zo vind je een kolomletter uit een getal in Excel. Ik dank je voor het lezen en zie je graag volgende week op onze blog!

    Praktijk werkboek om te downloaden

    Excel kolomnummer naar letter - voorbeelden (.xlsm bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.