Cuprins
În acest tutorial, vom vedea cum să schimbăm numerele coloanelor Excel în caractere alfabetice corespunzătoare.
Atunci când construiți formule complexe în Excel, este posibil ca uneori să aveți nevoie să obțineți o literă de coloană dintr-o anumită celulă sau de la un anumit număr. Acest lucru se poate face în două moduri: prin utilizarea funcțiilor încorporate sau a uneia personalizate.
Cum se convertește numărul coloanei în alfabet (coloane cu o singură literă)
În cazul în care numele coloanei este format dintr-o singură literă, de la A la Z, îl puteți obține folosind această formulă simplă:
CHAR(64 + număr_col )De exemplu, pentru a converti numărul 10 într-o literă de coloană, formula este:
=CHAR(64 + 10)
De asemenea, este posibil să introduceți un număr într-o anumită celulă și să faceți referire la acea celulă în formula dumneavoastră:
=CHAR(64 + A2)
Cum funcționează această formulă:
Funcția CHAR returnează un caracter pe baza codului de caractere din setul ASCII. Valorile ASCII ale literelor majuscule ale alfabetului englezesc sunt 65 (A) până la 90 (Z). Deci, pentru a obține codul de caractere al literei majuscule A, se adaugă 1 la 64; pentru a obține codul de caractere al literei majuscule B, se adaugă 2 la 64 și așa mai departe.
Cum se convertește numărul coloanei Excel în literă (orice coloană)
Dacă sunteți în căutarea unei formule versatile care să funcționeze pentru orice coloană din Excel (1 literă, 2 litere și 3 litere), atunci va trebui să utilizați o sintaxă ceva mai complexă:
SUBSTITUTE(ADRESA(1, număr_col , 4), "1", "")Cu litera de coloană în A2, formula are următoarea formă:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Cum funcționează această formulă:
În primul rând, se construiește o adresă de celulă cu numărul coloanei de interes. Pentru aceasta, se furnizează următoarele argumente funcției ADDRESS:
- 1 pentru număr_ rând (numărul rândului nu contează cu adevărat, așa că puteți folosi oricare).
- A2 (celula care conține numărul coloanei) pentru număr_coloană .
- 4 pentru abs_num pentru a returna o referință relativă.
Cu parametrii de mai sus, funcția ADRESA returnează ca rezultat șirul de text "A1".
Deoarece avem nevoie doar de o literă de coloană, eliminăm numărul rândului cu ajutorul funcției SUBSTITUTE, care caută "1" (sau orice număr de rând pe care l-ați codificat în interiorul funcției ADDRESS) în textul "A1" și îl înlocuiește cu un șir gol ("").
Obțineți litera coloanei din numărul coloanei utilizând funcția personalizată Funcție personalizată
Dacă aveți nevoie să convertiți în mod regulat numere de coloană în caractere alfabetice, atunci o funcție personalizată definită de utilizator (UDF) vă poate economisi foarte mult timp.
Codul funcției este destul de simplu și direct:
Public Function ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionÎn acest caz, folosim Celule pentru a se referi la o celulă din rândul 1 și la numărul de coloană specificat și la proprietatea Adresa pentru a returna un șir de caractere care conține o referință absolută la acea celulă (cum ar fi $A$1). Apoi, funcția Split rupe șirul returnat în elemente individuale folosind semnul $ ca separator și returnează elementul (1), care este litera coloanei.
Lipiți codul în editorul VBA, iar noul dvs. Litere de coloană este gata de utilizare. Pentru îndrumări detaliate, consultați: Cum să introduceți cod VBA în Excel.
Din punctul de vedere al utilizatorului final, sintaxa funcției este la fel de simplă ca aceasta:
Litera coloanei(col_num)Unde col_num este numărul coloanei pe care doriți să o transformați în literă.
Formula dvs. reală poate arăta după cum urmează:
=ColumnaLetter(A2)
Și va returna exact aceleași rezultate ca și funcțiile native Excel discutate în exemplul anterior:
Cum să obțineți litera coloanei unei anumite celule
Pentru a identifica o literă de coloană dintr-o anumită celulă, utilizați funcția COLUMN pentru a prelua numărul coloanei și serviți acest număr funcției ADDRESS. Formula completă va avea această formă:
SUBSTITUTE(ADRESA(1, COLOANA( adresa_celulei ), 4), "1", "")Ca exemplu, să găsim o literă de coloană din celula C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Evident, rezultatul este "C" :)
Cum să obțineți litera coloanei din celula curentă
Pentru a afla litera celulei curente, formula este aproape aceeași ca în exemplul de mai sus. Singura diferență este că funcția COLUMN() este utilizată cu un argument gol pentru a se referi la celula în care se află formula:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Cum se creează o referință a intervalului dinamic din numărul coloanei
Sperăm că exemplele anterioare v-au oferit noi subiecte de reflecție, dar poate vă întrebați despre aplicațiile practice.
În acest exemplu, vă vom arăta cum să utilizați formula "numărul coloanei la literă" pentru a rezolva sarcini din viața reală. În special, vom crea o formulă XLOOKUP dinamică care va extrage valori dintr-o anumită coloană pe baza numărului acesteia.
În tabelul de mai jos, să presupunem că doriți să obțineți o cifră de profit pentru un anumit proiect (H2) și o anumită săptămână (H3).
Pentru a îndeplini această sarcină, trebuie să furnizați lui XLOOKUP intervalul din care să returneze valorile. Deoarece avem doar numărul săptămânii, care corespunde numărului de coloană, vom converti mai întâi acel număr într-o literă de coloană și apoi vom construi referința intervalului.
Pentru comoditate, haideți să împărțim întregul proces în 3 pași ușor de urmat.
- Conversia unui număr de coloană într-o literă
Cu numărul de coloană din H3, utilizați formula deja cunoscută pentru a-l schimba într-un caracter alfabetic:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Sfat: Dacă numărul din setul de date nu corespunde numărului de coloană, asigurați-vă că efectuați corecția necesară. De exemplu, dacă am avea datele din săptămâna 1 în coloana B, datele din săptămâna 2 în coloana C și așa mai departe, atunci am folosi H3+1 pentru a obține numărul corect al coloanei.
- Construiește un șir de caractere reprezentând o referință de interval
Pentru a construi o referință de interval sub forma unui șir de caractere, se concatenează litera coloanei returnată de formula de mai sus cu primul și ultimul număr de rând. În cazul nostru, celulele de date se află în rândurile de la 3 la 8, așa că vom folosi această formulă:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Având în vedere că H3 conține "3", care este convertit în "C", formula noastră suferă următoarea transformare:
="C"&"3:"&"C"&"8"
Și produce șirul C3:C8.
- Realizați o referință a intervalului dinamic
Pentru a transforma un șir de text într-o referință validă pe care Excel o poate înțelege, aninați formula de mai sus în funcția INDIRECT și apoi treceți-o la al treilea argument al funcției XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Pentru a scăpa de o celulă suplimentară care conține șirul intervalului de returnare, puteți plasa formula SUBSTITUTE ADDRESS în cadrul funcției INDIRECT:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found"), "Not found")
Cu funcția noastră personalizată ColumnLetter, puteți obține o soluție mai compactă și mai elegantă:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found"), "Not found")
Iată cum se găsește o literă de coloană dintr-un număr în Excel. Vă mulțumesc pentru lectură și vă aștept pe blog săptămâna viitoare!
Caietul de practică pentru descărcare
Numărul de coloană din Excel la literă - exemple (fișier .xlsm)