Sisukord
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 FunctionSiinkohal 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.
- 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.
- 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.
- 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)