Táboa de contidos
Neste titorial, veremos como cambiar os números de columna de Excel polos caracteres alfabéticos correspondentes.
Ao crear fórmulas complexas en Excel, ás veces pode ter que obter un letra de columna dunha cela específica ou dun número determinado. Isto pódese facer de dúas formas: usando funcións integradas ou unha personalizada.
Como converter o número de columna en alfabeto (columnas dunha soa letra)
No caso o nome da columna consta dunha única letra, da A á Z, pode obtelo usando esta fórmula sinxela:
CHAR(64 + número_col)Por exemplo, para converter o número 10 en unha letra de columna, a fórmula é:
=CHAR(64 + 10)
Tamén é posible introducir un número nalgunha cela e referirse a esa cela na súa fórmula:
=CHAR(64 + A2)
Como funciona esta fórmula:
A función CHAR devolve un carácter baseado no código de caracteres do conxunto ASCII. Os valores ASCII das letras maiúsculas do alfabeto inglés son de 65 (A) a 90 (Z). Entón, para obter o código de caracteres de A maiúscula, engade 1 a 64; para obter o código de caracteres de B en maiúscula, engade 2 a 64, etc.
Como converter o número de columna de Excel en letra (calquera columna)
Se estás a buscar un versátil fórmula que funciona para calquera columna de Excel (1 letra, 2 letras e 3 letras), entón terás que usar unha sintaxe un pouco máis complexa:
SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1", "")Coletra de columna en A2, a fórmula toma esta forma:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Como funciona esta fórmula:
En primeiro lugar, constrúe un enderezo de cela co número de columna de interese. Para iso, proporcione os seguintes argumentos á función ADDRESS:
- 1 para row_num (o número de fila non importa realmente, polo que pode usar calquera).
- A2 (a cela que contén o número de columna) para número_columna .
- 4 para o argumento número_abs para devolver unha referencia relativa.
Cos parámetros anteriores, a función DIRECCIÓN devolve a cadea de texto "A1" como resultado.
Como só necesitamos unha letra de columna, eliminamos o número de fila coa axuda da función SUBSTITUTE, que busca "1" (ou calquera número de fila que codificaches dentro da función ADDRESS) no texto "A1" e substitúeo por unha cadea baleira ("").
Obter a letra da columna do número de columna usando a función personalizada Función personalizada
Se precisas converter números de columna en caracteres alfabéticos de forma regular, unha función personalizada definida polo usuario (UDF) pode aforrarche moito tempo.
O código da función é bonito. simple e directo:
Carta de columna de función pública (col_nu m) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionAquí usamos a propiedade Cells para referirnos a unha cela da fila 1 e a número de columna especificado e a propiedade Enderezo para devolver acadea que contén unha referencia absoluta a esa cela (como $A$1). A continuación, a función Dividir divide a cadea devolta en elementos individuais usando o signo $ como separador, e devolvemos o elemento (1), que é a letra da columna.
Pega o código no editor VBA e o teu a nova función ColumnLetter está lista para usar. Para obter unha guía detallada, consulte: Como inserir código VBA en Excel.
Desde o punto de vista do usuario final, a sintaxe da función é tan sinxela como esta:
ColumnLetter(col_num)Onde col_num é o número de columna que queres converter nunha letra.
A túa fórmula real pode ser o seguinte:
=ColumnLetter(A2)
E volverá exactamente os mesmos resultados que as funcións nativas de Excel comentadas no exemplo anterior:
Como obter a letra de columna dunha determinada cela
Para identificar unha letra de columna dun cela específica, use a función COLUMN para recuperar o número de columna e sirva ese número á función ADDRESS. A fórmula completa terá esta forma:
SUBSTITUTE(ADDRESS(1, COLUMN( cell_address), 4), "1", "")Como exemplo, busquemos unha letra de columna da cela C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Obviamente, o resultado é "C" :)
Como obter a letra da columna actual cell
Para calcular a letra da cela actual, a fórmula é case a mesma que no exemplo anterior. A única diferenza é que a función COLUMN() éusado cun argumento baleiro para referirse á cela onde a fórmula é:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Como crear unha referencia de rango dinámico a partir do número de columna
Con sorte, os exemplos anteriores deronche novos temas para reflexionar, pero quizais te esteas preguntando sobre as aplicacións prácticas.
Neste exemplo, mostrarémosche como usar o "número de columna a letra". " fórmula para resolver tarefas da vida real. En particular, crearemos unha fórmula XLOOKUP dinámica que extraerá valores dunha columna específica en función do seu número.
Na táboa de mostra que aparece a continuación, supoña que desexa obter unha cifra de beneficios para un proxecto determinado (H2 ) e semana (H3).
Para realizar a tarefa, cómpre proporcionar a XLOOKUP o intervalo desde o que devolver os valores. Como só temos o número da semana, que corresponde ao número da columna, primeiro imos converter ese número nunha letra de columna e despois construír a referencia do intervalo.
Para máis comodidade, imos desglosar todo o proceso. en 3 pasos fáciles de seguir.
- Converte un número de columna nunha letra
Co número de columna en H3, usa a fórmula xa familiar para cambialo a unha letra alfabética. carácter:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Consello. Se o número do teu conxunto de datos non coincide co número da columna, asegúrate de facer a corrección necesaria. Por exemplo, se tivésemos os datos da semana 1 na columna B, os da semana 2 na columna C easí por diante, entón usaríamos H3+1 para obter o número de columna correcto.
- Construír unha cadea que represente unha referencia de intervalo
Para construír unha referencia de intervalo en forma de cadea, concatena a letra de columna que devolve a fórmula anterior coa primeira e os últimos números da fila. No noso caso, as celas de datos están nas filas 3 a 8, polo que estamos a usar esta fórmula:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Dado que H3 contén "3", que se converte en "C", a nosa fórmula sofre a seguinte transformación:
="C"&"3:"&"C"&"8"
E produce a cadea C3:C8.
- Facer unha referencia de intervalo dinámico
Para transformar unha cadea de texto nunha referencia válida que Excel poida entender, aniñe a fórmula anterior na función INDIRECTA e, a continuación, pásaa ao 3.º argumento de XLOOKUP:
Ver tamén: Como ver as follas en Excel=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Para desfacerse dunha cela adicional que contén a cadea de intervalo de retorno, pode colocar a fórmula SUBSTITUTE ADDRESS dentro da propia función INDIRECTA:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
Coa nosa función personalizada ColumnLetter, podes obter unha solución máis compacta e elegante:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
Isto é como atopar unha letra de columna dun número en Excel. Grazas por ler e espero verte no noso blogue a vindeira semana!
Caderno de prácticas para descargar
Columna de Excel número a letra - exemplos (ficheiro .xlsm)