Talaan ng nilalaman
Sa tutorial na ito, titingnan natin kung paano baguhin ang mga numero ng column ng Excel sa mga kaukulang alphabetical na character.
Kapag bumubuo ng mga kumplikadong formula sa Excel, maaaring kailanganin mong makakuha ng isang column letter ng isang partikular na cell o mula sa isang naibigay na numero. Magagawa ito sa dalawang paraan: sa pamamagitan ng paggamit ng mga inbuilt na function o isang custom.
Paano i-convert ang numero ng column sa alpabeto (mga single-letter na column)
Kung sakaling ang pangalan ng column ay binubuo ng isang letra, mula A hanggang Z, makukuha mo ito sa pamamagitan ng simpleng formula na ito:
CHAR(64 + col_number)Halimbawa, para i-convert ang numero 10 sa isang column letter, ang formula ay:
=CHAR(64 + 10)
Posible ring mag-input ng numero sa ilang cell at sumangguni sa cell na iyon sa iyong formula:
=CHAR(64 + A2)
Paano gumagana ang formula na ito:
Ang CHAR function ay nagbabalik ng character batay sa character code sa ASCII set. Ang mga halaga ng ASCII ng malalaking titik ng alpabetong Ingles ay 65 (A) hanggang 90 (Z). Kaya, upang makuha ang character code ng uppercase A, magdagdag ka ng 1 hanggang 64; para makuha ang character code ng uppercase B, magdagdag ka ng 2 hanggang 64, at iba pa.
Paano i-convert ang Excel column number sa letter (anumang column)
Kung naghahanap ka ng versatile formula na gumagana para sa anumang column sa Excel (1 titik, 2 titik at 3 titik), pagkatapos ay kakailanganin mong gumamit ng medyo mas kumplikadong syntax:
SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1", "")Gamit angcolumn letter sa A2, ang formula ay ganito ang form:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Paano gumagana ang formula na ito:
Una, gumawa ka ng cell address na may numero ng column ng interes. Para dito, ibigay ang mga sumusunod na argumento sa ADDRESS function:
- 1 para sa row_num (hindi talaga mahalaga ang row number, kaya maaari kang gumamit ng anuman).
- A2 (ang cell na naglalaman ng numero ng column) para sa column_num .
- 4 para sa abs_num argument upang magbalik ng kamag-anak na sanggunian.
Sa mga parameter sa itaas, ibinabalik ng ADDRESS function ang text string na "A1" bilang resulta.
Dahil kailangan lang namin ng isang column letter, tinanggal namin ang row number sa tulong ng SUBSTITUTE function, na naghahanap ng "1" (o anumang row number na iyong na-hardcode sa loob ng ADDRESS function) sa text na "A1" at pinapalitan ito ng walang laman na string ("").
Kumuha ng column letter mula sa column number gamit ang custom na function Custom function
Kung kailangan mong regular na i-convert ang mga numero ng column sa mga alphabetical na character, ang isang custom na user-defined function (UDF) ay makakatipid ng iyong oras nang husto.
Ang code ng function ay maganda. plain at prangka:
Dito, ginagamit namin ang Cells property para sumangguni sa isang cell sa row 1 at ang tinukoy na numero ng column at ang Address property na ibabalik ang astring na naglalaman ng ganap na sanggunian sa cell na iyon (tulad ng $A$1). Pagkatapos, hinahati ng Split function ang ibinalik na string sa mga indibidwal na elemento gamit ang $ sign bilang separator, at ibinabalik namin ang elemento (1), na siyang column letter.
I-paste ang code sa VBA editor, at ang iyong bagong ColumnLetter function ay handa nang gamitin. Para sa detalyadong gabay, pakitingnan ang: Paano magpasok ng VBA code sa Excel.
Mula sa end-user viewpoint, ang syntax ng function ay kasing simple nito:
ColumnLetter(col_num) Saan
Maaaring ganito ang hitsura ng iyong tunay na formula:
=ColumnLetter(A2)
At babalik ito eksaktong kaparehong mga resulta gaya ng mga native na function ng Excel na tinalakay sa nakaraang halimbawa:
Paano makakuha ng column letter ng ilang cell
Upang matukoy ang column letter ng isang partikular na cell, gamitin ang COLUMN function upang kunin ang column number, at ihatid ang numerong iyon sa ADDRESS function. Ang kumpletong formula ay magkakaroon ng ganitong hugis:
SUBSTITUTE(ADDRESS(1, COLUMN( cell_address), 4), "1", "")Bilang halimbawa, maghanap tayo ng column letter ng cell C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Malinaw, ang resulta ay "C" :)
Paano makakuha ng column letter ng kasalukuyang cell
Upang gawin ang titik ng kasalukuyang cell, ang formula ay halos pareho sa halimbawa sa itaas. Ang pagkakaiba lang ay ang COLUMN() function ayginagamit na may walang laman na argumento para sumangguni sa cell kung saan ang formula ay:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Paano gumawa ng dynamic na range reference mula sa column number
Sana, ang mga nakaraang halimbawa ay nagbigay sa iyo ng ilang mga bagong paksa para pag-isipan, ngunit maaaring ikaw ay nagtataka tungkol sa mga praktikal na aplikasyon.
Sa halimbawang ito, ipapakita namin sa iyo kung paano gamitin ang "column number sa letter " formula para sa paglutas ng mga gawain sa totoong buhay. Sa partikular, gagawa kami ng dynamic na formula ng XLOOKUP na kukuha ng mga value mula sa isang partikular na column batay sa numero nito.
Mula sa sample na talahanayan sa ibaba, ipagpalagay na gusto mong makakuha ng kita para sa isang partikular na proyekto (H2 ) at linggo (H3).
Upang magawa ang gawain, kailangan mong ibigay sa XLOOKUP ang hanay kung saan ibabalik ang mga halaga. Dahil mayroon lang kaming numero ng linggo, na tumutugma sa numero ng column, iko-convert muna namin ang numerong iyon sa isang letra ng column, at pagkatapos ay bubuuin ang reference ng hanay.
Para sa kaginhawahan, hatiin natin ang buong proseso sa 3 madaling sundan na hakbang.
- I-convert ang numero ng column sa isang titik
Gamit ang numero ng column sa H3, gamitin ang pamilyar na formula para baguhin ito sa alpabetikong character:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Tip. Kung ang numero sa iyong dataset ay hindi tumutugma sa numero ng column, tiyaking gawin ang kinakailangang pagwawasto. Halimbawa, kung mayroon kaming data sa linggo 1 sa column B, data sa linggo 2 sa column C, atiba pa, pagkatapos ay gagamitin namin ang H3+1 upang makuha ang tamang numero ng column.
- Bumuo ng string na kumakatawan sa isang range reference
Upang bumuo ng range reference sa anyo ng isang string, isasama mo ang column letter na ibinalik ng formula sa itaas sa unang at mga numero ng huling hilera. Sa aming kaso, ang mga cell ng data ay nasa row 3 hanggang 8, kaya ginagamit namin ang formula na ito:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Dahil ang H3 ay naglalaman ng "3", na na-convert sa "C", ang aming formula ay sumasailalim sa sumusunod na pagbabago:
="C"&"3:"&"C"&"8"
At gumagawa ng string na C3:C8.
- Gumawa isang sanggunian ng dynamic na hanay
Upang gawing wastong sanggunian ang isang text string na mauunawaan ng Excel, ilagay ang formula sa itaas sa INDIRECT na function, at pagkatapos ay ipasa ito sa ika-3 argumento ng XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Upang maalis ang isang karagdagang cell na naglalaman ng string ng return range, maaari mong ilagay ang formula na SUBSTITUTE ADDRESS sa loob mismo ng INDIRECT function:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
Sa aming custom na ColumnLetter function, makakakuha ka ng mas compact at eleganteng solusyon:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
Iyon ay paano makahanap ng isang column letter mula sa isang numero sa Excel. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!
Magsanay ng workbook para sa pag-download
Numero ng hanay ng Excel hanggang titik - mga halimbawa (.xlsm file)