Kuidas teisendada Exceli veeru number täheks

  • Jaga Seda
Michael Brown

Selles õpetuses vaatleme, kuidas muuta Exceli veergude numbreid vastavate tähestikuliste tähtedega.

Excelis keerulisi valemeid koostades võib mõnikord olla vaja saada veeru täht konkreetsest lahtrist või antud numbrist. Seda saab teha kahel viisil: kasutades sisseehitatud funktsioone või kohandatud funktsioone.

    Kuidas teisendada veeru number tähestikuks (ühe tähega veerud)

    Kui veeru nimi koosneb ühest tähest A-st kuni Z-ni, saate selle kätte selle lihtsa valemi abil:

    CHAR(64 + col_number )

    Näiteks, et teisendada number 10 veerus olevaks täheks, on valem järgmine:

    =CHAR(64 + 10)

    Samuti on võimalik sisestada number mõnda lahtrisse ja viidata sellele lahtrisse oma valemis:

    =CHAR(64 + A2)

    Kuidas see valem töötab:

    Funktsioon CHAR tagastab tähemärgi, mis põhineb ASCII-komplekti tähekoodil. Inglise tähestiku suurtähtede ASCII-väärtused on 65 (A) kuni 90 (Z). Seega, et saada suurtähe A tähekoodi, lisate 1 kuni 64; et saada suurtähe B tähekoodi, lisate 2 kuni 64 jne.

    Kuidas teisendada Exceli veeru number täheks (mis tahes veerg)

    Kui otsite mitmekülgset valemit, mis töötab Exceli mis tahes veeru jaoks (1-, 2- ja 3-täheline), siis peate kasutama veidi keerulisemat süntaksit:

    SUBSTITUTE(AADRESS(1, col_number , 4), "1", "")

    Kui veeru täht on A2, on valem järgmine:

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

    Kuidas see valem töötab:

    Kõigepealt konstrueerite lahtri aadressi koos huvipakkuva veeru numbriga. Selleks esitage funktsioonile ADDRESS järgmised argumendid:

    • 1 jaoks row_num (rea number ei ole tegelikult oluline, seega võite kasutada ükskõik millist).
    • A2 (lahter, mis sisaldab veeru numbrit) jaoks column_num .
    • 4 jaoks abs_num argument, et tagastada suhteline viide.

    Ülaltoodud parameetritega tagastab funktsioon ADDRESS tulemuseks tekstistringi "A1".

    Kuna meil on vaja ainult veeru tähte, eemaldame rea numbri funktsiooni SUBSTITUTE abil, mis otsib tekstist "A1" "1" (või mis iganes rea numbri, mille olete funktsiooni ADDRESS sees kõvakooderdanud) ja asendab selle tühja stringiga ("").

    Saada veeru täht veeru numbrist, kasutades kohandatud funktsiooni Kohandatud funktsioon Kohandatud funktsioon

    Kui teil on vaja regulaarselt teisendada veergude numbreid tähestikulisteks tähtedeks, siis võib kohandatud kasutaja määratud funktsioon (UDF) teie aega tohutult säästa.

    Funktsiooni kood on üsna lihtne ja sirgjooneline:

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

    Siinkohal kasutame me Rakud omadust, et viidata rea 1 lahtrisse ja määratud veeru numbrile ning omadust Aadress omadust, et tagastada string, mis sisaldab absoluutset viidet sellele lahtrile (näiteks $A$1). Seejärel jaotab funktsioon Split tagastatud stringi üksikuteks elementideks, kasutades eraldajana $-märki, ja me tagastame elemendi (1), mis on veeru täht.

    Sisestage kood VBA redaktorisse ja teie uus ColumnLetter funktsioon on valmis kasutamiseks. Üksikasjalikud juhised leiate dokumendist: Kuidas sisestada VBA-koodi Excelis.

    Lõppkasutaja seisukohalt on funktsiooni süntaks nii lihtne:

    ColumnLetter(col_num)

    Kus col_num on veeru number, mida soovite teisendada täheks.

    Teie tegelik valem võib välja näha järgmiselt:

    =ColumnLetter(A2)

    Ja see annab täpselt samad tulemused kui eelmises näites käsitletud natiivsed Exceli funktsioonid:

    Kuidas saada teatud lahtri veergu kirja

    Konkreetse lahtri veeru tähe tuvastamiseks kasutage COLUMN funktsiooni, et saada veeru number ja serveerige see number funktsioonile ADDRESS. Täielik valem võtab sellise kuju:

    SUBSTITUTE(AADRESS(1, VEERG( cell_address ), 4), "1", "")

    Leiame näiteks lahtri C5 veeru tähe:

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

    Ilmselt on tulemuseks "C" :)

    Kuidas saada praeguse lahtri veeru täht

    Praeguse lahtri tähe väljaselgitamiseks kasutatakse peaaegu sama valemit nagu ülaltoodud näites. Ainus erinevus on see, et COLUMN() funktsiooni kasutatakse tühja argumendiga, et viidata lahtrisse, kus valem on:

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

    Kuidas luua dünaamilise vahemiku viide veeru numbrist

    Loodetavasti andsid eelmised näited teile mõned uued mõtteainet, kuid te võib-olla mõtlete praktiliste rakenduste peale.

    Selles näites näitame teile, kuidas kasutada valemit "veeru numbrile tähtedeks" tegelike ülesannete lahendamiseks. Eelkõige loome dünaamilise XLOOKUP-valemi, mis tõmbab väärtused konkreetsest veerust selle numbri alusel.

    Oletame, et soovite allpool esitatud näidistabelist saada kasumiarvu konkreetse projekti (H2) ja nädala (H3) kohta.

    Ülesande täitmiseks tuleb XLOOKUPile anda vahemik, millest väärtused tagastada. Kuna meil on olemas ainult nädala number, mis vastab veeru numbrile, siis konverteerime selle numbri kõigepealt veeru kirjaks ja seejärel konstrueerime vahemiku viite.

    Lihtsuse huvides jagame kogu protsessi 3 lihtsaks sammuks.

    1. Konverteerida veeru number täheks

      Kui veeru number on H3-s, kasutage juba tuttavat valemit, et muuta see tähestikuliseks tähemärgiks:

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

      Vihje. Kui teie andmekogumi number ei vasta veeru numbrile, tehke kindlasti vajalik parandus. Näiteks kui meil oleksid 1. nädala andmed veerus B, 2. nädala andmed veerus C jne, siis kasutaksime H3+1, et saada õige veeru number.

    2. Konstrueerida string, mis kujutab vahemiku viidet

      Et luua vahemiku viide stringi kujul, ühendate ülaltoodud valemiga tagastatud veeru tähe esimese ja viimase rea numbriga. Meie puhul on andmerakud ridades 3 kuni 8, seega kasutame seda valemit:

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

      Arvestades, et H3 sisaldab "3", mis teisendatakse "C"-ks, toimub meie valemiga järgmine ümberkujundamine:

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

      Ja annab stringi C3:C8.

    3. Teha dünaamilise vahemiku viide

      Tekstijada muutmiseks kehtivaks viiteks, millest Excel saab aru, pesitsege ülaltoodud valem funktsioonis INDIRECT ja edastage see seejärel XLOOKUP-i 3. argumendile:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4), "Ei leitud")

      Selleks, et vabaneda tagastusvahemiku stringi sisaldavast lisarakust, võite asetada valemi SUBSTITUTE ADDRESS funktsiooni INDIRECT enda sisse:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "8"), "Not found")

    Meie kohandatud funktsiooniga ColumnLetter saate kompaktsema ja elegantsema lahenduse:

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

    Nii leitakse Excelis numbrist veeru täht. Tänan teid lugemast ja ootan teid järgmisel nädalal meie blogis!

    Praktiline töövihik allalaadimiseks

    Exceli veeru number kirjaks - näited (.xlsm fail)

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.