Taula de continguts
En aquest tutorial, veurem com canviar els números de columna d'Excel pels caràcters alfabètics corresponents.
Quan creeu fórmules complexes a Excel, de vegades haureu d'obtenir un lletra de columna d'una cel·la concreta o d'un nombre determinat. Això es pot fer de dues maneres: utilitzant funcions integrades o una personalitzada.
Com convertir el número de columna en alfabet (columnes d'una lletra)
En cas de el nom de la columna consta d'una sola lletra, de la A a la Z, podeu obtenir-la utilitzant aquesta fórmula senzilla:
CHAR(64 + número_col)Per exemple, per convertir el número 10 en una lletra de columna, la fórmula és:
=CHAR(64 + 10)
També és possible introduir un número en alguna cel·la i fer referència a aquesta cel·la a la fórmula:
=CHAR(64 + A2)
Com funciona aquesta fórmula:
La funció CHAR retorna un caràcter basat en el codi de caràcters del conjunt ASCII. Els valors ASCII de les lletres majúscules de l'alfabet anglès són de 65 (A) a 90 (Z). Per tant, per obtenir el codi de caràcter de la majúscula A, afegiu 1 a 64; per obtenir el codi de caràcters de la B majúscula, afegiu del 2 al 64, i així successivament.
Com convertir el número de columna d'Excel en lletra (qualsevol columna)
Si busqueu un material versàtil fórmula que funciona per a qualsevol columna d'Excel (1 lletra, 2 lletres i 3 lletres), llavors haureu d'utilitzar una sintaxi una mica més complexa:
SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1", "")Amb ellletra de columna a A2, la fórmula pren aquesta forma:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Com funciona aquesta fórmula:
Primer, construïu una adreça de cel·la amb el número de columna d'interès. Per a això, proporcioneu els arguments següents a la funció ADDRESS:
- 1 per a row_num (el número de fila no importa realment, de manera que podeu utilitzar-ne qualsevol).
- A2 (la cel·la que conté el número de columna) per a núm_columna .
- 4 per a l'argument núm_abs per retornar una referència relativa.
Amb els paràmetres anteriors, la funció ADREÇA retorna la cadena de text "A1" com a resultat.
Com que només necessitem una lletra de columna, retirem el número de fila amb l'ajuda de la funció SUBSTITUTE, que cerca "1" (o qualsevol número de fila que hagis codificat dins de la funció ADDRESS) al text "A1" i el substitueix per una cadena buida ("").
Obtén la lletra de columna del número de columna mitjançant la funció personalitzada Funció personalitzada
Si necessiteu convertir els números de columna en caràcters alfabètics de manera regular, una funció personalitzada definida per l'usuari (UDF) us pot estalviar molt temps.
El codi de la funció és bastant senzill i senzill:
lletra de columna de funció pública (col_nu m) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionAquí, utilitzem la propietat Cells per fer referència a una cel·la de la fila 1 i la el número de columna especificat i la propietat Address per retornar acadena que conté una referència absoluta a aquesta cel·la (com ara $A$1). Aleshores, la funció Dividir divideix la cadena retornada en elements individuals utilitzant el signe $ com a separador, i tornem l'element (1), que és la lletra de la columna.
Enganxeu el codi a l'editor VBA i el vostre La nova funció ColumnLetter està preparada per utilitzar-la. Per obtenir una guia detallada, consulteu: Com inserir codi VBA a Excel.
Des del punt de vista de l'usuari final, la sintaxi de la funció és tan senzilla com aquesta:
ColumnLetter(col_num)On col_num és el número de columna que voleu convertir en una lletra.
La vostra fórmula real pot ser el següent:
=ColumnLetter(A2)
I tornarà exactament els mateixos resultats que les funcions natives d'Excel comentades a l'exemple anterior:
Com obtenir la lletra de columna d'una cel·la determinada
Per identificar una lletra de columna d'un cel·la específica, utilitzeu la funció COLUMN per recuperar el número de columna i utilitzeu aquest número a la funció ADDRESS. La fórmula completa tindrà aquesta forma:
SUBSTITUTE(ADDRESS(1, COLUMN( cell_address), 4), "1", "")Com a exemple, busquem una lletra de columna de la cel·la C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Òbviament, el resultat és "C" :)
Com obtenir la lletra de la columna actual cel·la
Per calcular la lletra de la cel·la actual, la fórmula és gairebé la mateixa que a l'exemple anterior. L'única diferència és que la funció COLUMN() éss'utilitza amb un argument buit per fer referència a la cel·la on la fórmula és:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Com crear una referència d'interval dinàmic a partir del número de columna
Tant de bo, els exemples anteriors us han donat nous temes de reflexió, però és possible que us pregunteu sobre les aplicacions pràctiques.
En aquest exemple, us mostrarem com utilitzar el "número de columna a lletra". "fórmula per resoldre tasques de la vida real. En particular, crearem una fórmula XLOOKUP dinàmica que extreu valors d'una columna específica en funció del seu nombre.
A la taula de mostra següent, suposem que voleu obtenir una xifra de beneficis per a un projecte determinat (H2 ) i setmana (H3).
Per dur a terme la tasca, cal que proporcioneu a XLOOKUP l'interval des del qual retornar els valors. Com que només tenim el número de la setmana, que correspon al número de la columna, primer convertirem aquest número en una lletra de columna i després construirem la referència de l'interval.
Per comoditat, desglossem tot el procés. en 3 passos fàcils de seguir.
- Convertiu un número de columna en una lletra
Amb el número de columna a H3, utilitzeu la fórmula ja coneguda per canviar-la a una lletra alfabètica caràcter:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Consell. Si el número del vostre conjunt de dades no coincideix amb el número de columna, assegureu-vos de fer la correcció necessària. Per exemple, si teníem les dades de la setmana 1 a la columna B, les dades de la setmana 2 a la columna C iaixí successivament, utilitzaríem H3+1 per obtenir el número de columna correcte.
- Construeix una cadena que representa una referència d'interval
Per crear una referència d'interval en forma de cadena, concatena la lletra de columna que retorna la fórmula anterior amb la primera i els números de l'última fila. En el nostre cas, les cel·les de dades es troben a les files 3 a 8, de manera que estem utilitzant aquesta fórmula:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Atès que H3 conté "3", que es converteix en "C", la nostra fórmula pateix la següent transformació:
="C"&"3:"&"C"&"8"
I produeix la cadena C3:C8.
- Fes una referència d'interval dinàmic
Per transformar una cadena de text en una referència vàlida que Excel pugui entendre, anideu la fórmula anterior a la funció INDIRECTA i després passeu-la al tercer argument de XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Per desfer-se d'una cel·la addicional que conté la cadena d'interval de retorn, podeu col·locar la fórmula SUBSTITUTE ADDRESS dins de la pròpia funció INDIRECTA:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
Amb la nostra funció personalitzada ColumnLetter, podeu obtenir una solució més compacta i elegant:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
Això és com trobar una lletra de columna d'un número a Excel. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!
Quader de pràctiques per descarregar
Columna d'Excel nombre a lletra: exemples (fitxer .xlsm)