Satura rādītājs
Šajā pamācībā aplūkosim, kā Excel kolonnu numurus mainīt uz atbilstošajām alfabēta rakstzīmēm.
Veidojot sarežģītas formulas programmā Excel, dažreiz var rasties nepieciešamība iegūt konkrētas šūnas slejas burtu vai no konkrēta skaitļa. To var izdarīt divējādi: izmantojot iebūvētās funkcijas vai pielāgotas funkcijas.
Kā pārvērst kolonnas numuru alfabētā (vienburtu kolonnas)
Ja kolonnas nosaukumu veido viens burts no A līdz Z, to var iegūt, izmantojot šo vienkāršo formulu:
CHAR(64 + col_number )Piemēram, lai skaitli 10 pārvērstu kolonnas burtā, formula ir šāda:
=CHAR(64 + 10)
Ir arī iespējams ievadīt skaitli kādā šūnā un atsaukties uz šo šūnu formulā:
=CHAR(64 + A2)
Kā šī formula darbojas:
CHAR funkcija atgriež rakstzīmi, pamatojoties uz rakstzīmes kodu ASCII komplektā. Angļu alfabēta lielo burtu ASCII vērtības ir no 65 (A) līdz 90 (Z). Tātad, lai iegūtu lielo burtu A rakstzīmes kodu, pieskaita 1 pie 64; lai iegūtu lielo burtu B rakstzīmes kodu, pieskaita 2 pie 64 utt.
Kā konvertēt Excel kolonnas numuru uz burtu (jebkurā kolonnā)
Ja meklējat universālu formulu, kas darbojas jebkurā Excel kolonnā (1 burts, 2 burti un 3 burti), jums būs jāizmanto nedaudz sarežģītāka sintakse:
AIZVIETOT(ADRESE(1, col_number , 4), "1", "")Ja kolonnā A2 ir kolonnas burts, formulas forma ir šāda:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Kā šī formula darbojas:
Vispirms jākonstruē šūnas adrese ar interesējošās kolonnas numuru. Šim nolūkam funkcijai ADDRESS norādiet šādus argumentus:
- 1 par rindu_num (rindas numuram nav nozīmes, tāpēc varat izmantot jebkuru).
- A2 (šūna, kurā ir kolonnas numurs), lai column_num .
- 4 par abs_num argumentu, lai atgrieztu relatīvo atsauci.
Izmantojot iepriekš minētos parametrus, funkcija ADDRESS kā rezultātu atgriež teksta virkni "A1".
Tā kā mums ir nepieciešams tikai kolonnas burts, mēs noņemam rindas numuru, izmantojot funkciju SUBSTITUTE, kas tekstā "A1" meklē "1" (vai jebkuru rindas numuru, kas ir iekodēts funkcijā ADDRESS) un aizstāj to ar tukšu virkni ("").
Iegūt kolonnas burtu no kolonnas numura, izmantojot pielāgotu funkciju Pielāgota funkcija
Ja regulāri ir nepieciešams pārvērst kolonnu numurus alfabēta rakstzīmēs, tad pielāgota lietotāja definēta funkcija (UDF) var ievērojami ietaupīt jūsu laiku.
Funkcijas kods ir diezgan vienkāršs un vienkāršs:
Publiskā funkcija ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionŠeit mēs izmantojam Šūnas īpašību, lai atsauktos uz šūnu 1. rindā un norādīto slejas numuru, un Adrese īpašību, lai atgrieztu virkni, kas satur absolūtu atsauci uz šo šūnu (piemēram, $A$1). Pēc tam funkcija Split sadalīs atdoto virkni atsevišķos elementos, izmantojot $ zīmi kā atdalītāju, un mēs atgriezīsim elementu (1), kas ir kolonnas burts.
Ievietojiet kodu VBA redaktorā, un jūsu jaunais ColumnLetter Sīkāku informāciju skatiet sadaļā: Kā ievietot VBA kodu programmā Excel.
No galalietotāja viedokļa funkcijas sintakse ir ļoti vienkārša:
ColumnLetter(col_num)Kur col_num ir kolonnas numurs, kuru vēlaties pārvērst burtā.
Jūsu reālā formula var izskatīties šādi:
=ColumnLetter(A2)
Un tā atgriezīs tieši tādus pašus rezultātus kā iepriekšējā piemērā aplūkotās Excel pamatfunkcijas:
Kā iegūt noteiktas šūnas kolonnas burtu
Lai noteiktu konkrētas šūnas kolonnas burtu, izmantojiet funkciju COLUMN, lai iegūtu kolonnas numuru, un ievadiet šo numuru funkcijai ADDRESS. Pilna formula būs šāda:
AIZVIETOT(ADRESE(1, SLEJA( cell_address ), 4), "1", "")Piemēram, atradīsim šūnas C5 kolonnas burtu:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Acīmredzot rezultāts ir "C" :)
Kā iegūt pašreizējās šūnas kolonnas burtu
Lai noteiktu pašreizējās šūnas burtu, formula ir gandrīz tāda pati kā iepriekš minētajā piemērā. Vienīgā atšķirība ir tā, ka funkcija COLUMN() tiek izmantota ar tukšu argumentu, lai atsauktos uz šūnu, kurā ir formula:
=AIZVIETOT(ADRESE(1, SLEJA(), 4), "1", "")
Kā izveidot dinamiskā diapazona atsauci no kolonnas numura
Cerams, ka iepriekš minētie piemēri ir devuši jums jaunu vielu pārdomām, taču, iespējams, jūs interesē praktiskie pielietojumi.
Šajā piemērā mēs parādīsim, kā izmantot formulu "kolonnas numurs uz burtu" reālu uzdevumu risināšanai. Konkrēti, mēs izveidosim dinamisku XLOOKUP formulu, kas atlasīs vērtības no konkrētas kolonnas, pamatojoties uz tās numuru.
Pieņemsim, ka no turpmāk dotās tabulas parauga vēlaties iegūt peļņas rādītāju konkrētam projektam (H2) un nedēļai (H3).
Lai izpildītu uzdevumu, XLOOKUP ir jānorāda diapazons, no kura jāatgriež vērtības. Tā kā mums ir tikai nedēļas numurs, kas atbilst kolonnas numuram, vispirms šo numuru konvertēsim kolonnas burtā un pēc tam izveidosim atsauci uz diapazonu.
Ērtības labad sadalīsim visu procesu trīs viegli izpildāmos soļos.
- Kolonnas numura konvertēšana uz burtu
Izmantojot kolonnas numuru H3, izmantojiet jau pazīstamo formulu, lai to mainītu uz alfabēta rakstzīmi:
=AIZVIETOT(ADRESE(1, H3, 4), "1", "")
Padoms. Ja datu kopas numurs nesakrīt ar kolonnas numuru, pārliecinieties, ka esat veicis vajadzīgo korekciju. Piemēram, ja 1. nedēļas dati būtu B kolonnā, 2. nedēļas dati - C kolonnā un tā tālāk, tad, lai iegūtu pareizo kolonnas numuru, mēs izmantotu H3+1.
- Veidot virkni, kas atveido diapazona atsauci
Lai izveidotu virknes atsauci virknes formā, jāsavieno kolonnas burts, ko atgriež iepriekšminētā formula, ar pirmās un pēdējās rindas numuru. Mūsu gadījumā datu šūnas ir no 3. līdz 8. rindai, tāpēc mēs izmantojam šo formulu:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Ņemot vērā, ka H3 satur "3", kas tiek pārveidots par "C", mūsu formula tiek pārveidota šādi:
="C"&"3:"&"C"&"8"
Un izveido virkni C3:C8.
- Izveidojiet dinamiskā diapazona atsauci
Lai teksta virkni pārveidotu par derīgu atsauci, ko Excel saprot, iestrādājiet iepriekš minēto formulu funkcijā INDIRECT un pēc tam nododiet to XLOOKUP 3. argumentam:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Nav atrasts")
Lai atbrīvotos no papildu šūnas, kas satur atgriešanas diapazona virkni, varat ievietot SUBSTITUTE ADDRESS formulu pašā INDIRECT funkcijā:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
Izmantojot mūsu pielāgoto funkciju ColumnLetter, varat iegūt kompaktāku un elegantāku risinājumu:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
Lūk, kā Excel programmā atrast kolonnas burtu no skaitļa. Paldies, ka izlasījāt, un ar nepacietību gaidām jūs mūsu blogā nākamnedēļ!
Prakses darba burtnīca lejupielādei
Excel kolonnas numurs uz burtu - piemēri (.xlsm fails)