Cómo convertir un número de columna de Excel en una letra

  • Compartir Este
Michael Brown

En este tutorial, veremos cómo cambiar los números de columna de Excel a los caracteres alfabéticos correspondientes.

Cuando se construyen fórmulas complejas en Excel, a veces puede ser necesario obtener una letra de columna de una celda específica o de un número dado. Esto se puede hacer de dos maneras: utilizando funciones incorporadas o una personalizada.

    Cómo convertir el número de columna en alfabeto (columnas de una sola letra)

    En caso de que el nombre de la columna conste de una sola letra, de la A a la Z, puede obtenerlo mediante esta sencilla fórmula:

    CHAR(64 + número_col )

    Por ejemplo, para convertir el número 10 en una letra de columna, la fórmula es:

    =CHAR(64 + 10)

    También es posible introducir un número en una celda y hacer referencia a esa celda en la fórmula:

    =CHAR(64 + A2)

    Cómo funciona esta fórmula:

    La función CHAR devuelve un carácter basado en el código de caracteres del conjunto ASCII. Los valores ASCII de las letras mayúsculas del alfabeto inglés son de 65 (A) a 90 (Z). Así, para obtener el código de caracteres de la A mayúscula, se suma 1 a 64; para obtener el código de caracteres de la B mayúscula, se suma 2 a 64, y así sucesivamente.

    Cómo convertir un número de columna de Excel en una letra (cualquier columna)

    Si lo que buscas es una fórmula versátil que funcione para cualquier columna de Excel (1 letra, 2 letras y 3 letras), entonces tendrás que utilizar una sintaxis un poco más compleja:

    SUSTITUTO(DIRECCIÓN(1, número_col , 4), "1", "")

    Con la letra de la columna en A2, la fórmula toma esta forma:

    =SUSTITUIR(DIRECCIÓN(1, A2, 4), "1", "")

    Cómo funciona esta fórmula:

    En primer lugar, construya una dirección de celda con el número de columna que le interese. Para ello, suministre los siguientes argumentos a la función DIRECCIÓN:

    • 1 para número_de_fila (el número de fila no importa realmente, así que puedes utilizar cualquiera).
    • A2 (la celda que contiene el número de columna) para columna_num .
    • 4 para abs_num para devolver una referencia relativa.

    Con los parámetros anteriores, la función DIRECCIÓN devuelve como resultado la cadena de texto "A1".

    Como sólo necesitamos una letra de columna, eliminamos el número de fila con la ayuda de la función SUBSTITUTE, que busca "1" (o cualquier número de fila que haya codificado dentro de la función DIRECCIÓN) en el texto "A1" y lo sustituye por una cadena vacía ("").

    Obtener letra de columna a partir de número de columna mediante función personalizada Función personalizada

    Si necesita convertir regularmente números de columna en caracteres alfabéticos, una función definida por el usuario (UDF) personalizada puede ahorrarle mucho tiempo.

    El código de la función es bastante sencillo y directo:

    Public Function LetraColumna(col_num) LetraColumna = Split(Cells(1, col_num).Address, "$" )(1) End Function

    En este caso, utilizamos el Células para hacer referencia a una celda de la fila 1 y el número de columna especificado y la propiedad Dirección para devolver una cadena que contenga una referencia absoluta a esa celda (como $A$1). A continuación, la función Dividir divide la cadena devuelta en elementos individuales utilizando el signo $ como separador, y devolvemos el elemento (1), que es la letra de la columna.

    Pegue el código en el editor VBA, y su nuevo LetraColumna Para obtener información detallada, consulte: Cómo insertar código VBA en Excel.

    Desde el punto de vista del usuario final, la sintaxis de la función es así de sencilla:

    Letra_columna(num_col)

    Dónde col_num es el número de columna que desea convertir en letra.

    Tu fórmula real puede ser la siguiente:

    =ColumnaCarta(A2)

    Y devolverá exactamente los mismos resultados que las funciones nativas de Excel comentadas en el ejemplo anterior:

    Cómo obtener la letra de la columna de una celda determinada

    Para identificar una letra de columna de una celda específica, utilice la función COLUMNA para recuperar el número de columna, y sirva ese número a la función DIRECCIÓN. La fórmula completa tendrá esta forma:

    SUBSTITUTE(DIRECCIÓN(1, COLUMNA( dirección_celda ), 4), "1", "")

    Como ejemplo, busquemos una letra de columna de la celda C5:

    =SUSTITUIR(DIRECCIÓN(1, COLUMNA(C5), 4), "1", "")

    Obviamente, el resultado es "C" :)

    Cómo obtener la letra de la columna de la celda actual

    Para calcular la letra de la celda actual, la fórmula es casi la misma que en el ejemplo anterior. La única diferencia es que la función COLUMN() se utiliza con un argumento vacío para referirse a la celda donde está la fórmula:

    =SUSTITUIR(DIRECCIÓN(1, COLUMNA(), 4), "1", "")

    Cómo crear una referencia de rango dinámico a partir del número de columna

    Esperamos que los ejemplos anteriores le hayan aportado nuevos temas de reflexión, pero quizá se pregunte por las aplicaciones prácticas.

    En este ejemplo, le mostraremos cómo utilizar la fórmula "número de columna a letra" para resolver tareas de la vida real. En concreto, crearemos una fórmula XLOOKUP dinámica que extraerá valores de una columna específica en función de su número.

    Supongamos que desea obtener una cifra de beneficios para un proyecto (H2) y una semana (H3) determinados.

    Como sólo tenemos el número de semana, que corresponde al número de columna, vamos a convertir primero ese número en una letra de columna y, a continuación, vamos a construir la referencia del rango.

    Para mayor comodidad, vamos a dividir todo el proceso en 3 pasos fáciles de seguir.

    1. Convertir un número de columna en una letra

      Con el número de columna en H3, utilice la fórmula ya conocida para cambiarlo por un carácter alfabético:

      =SUSTITUIR(DIRECCIÓN(1, H3, 4), "1", "")

      Sugerencia: si el número de su conjunto de datos no coincide con el número de columna, asegúrese de hacer la corrección necesaria. Por ejemplo, si tuviéramos los datos de la semana 1 en la columna B, los datos de la semana 2 en la columna C, etc., entonces utilizaríamos H3+1 para obtener el número de columna correcto.

    2. Construir una cadena que represente una referencia de rango

      Para construir una referencia de rango en forma de cadena, se concatena la letra de la columna devuelta por la fórmula anterior con los números de la primera y la última fila. En nuestro caso, las celdas de datos se encuentran en las filas 3 a 8, por lo que utilizamos esta fórmula:

      =SUBSTITUTE(DIRECCIÓN(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(DIRECCIÓN(1, H3, 4), "1", "") & "8"

      Dado que H3 contiene "3", que se convierte en "C", nuestra fórmula sufre la siguiente transformación:

      ="C"&"3:"&"C"&"8"

      Y produce la cadena C3:C8.

    3. Hacer una referencia de rango dinámico

      Para transformar una cadena de texto en una referencia válida que Excel pueda entender, anida la fórmula anterior en la función INDIRECTO, y luego pásala al 3er argumento de XLOOKUP:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4), "No encontrado")

      Para deshacerse de una celda adicional que contenga la cadena de rango de retorno, puede colocar la fórmula SUSTITUIR DIRECCIÓN dentro de la propia función INDIRECTA:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "No encontrado")

    Con nuestra función personalizada ColumnLetter, puede obtener una solución más compacta y elegante:

    =XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "No encontrado")

    Así es como se encuentra la letra de una columna a partir de un número en Excel. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!

    Cuaderno de prácticas para descargar

    Excel número de columna a letra - ejemplos (archivo .xlsm)

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.