Saltar al contenido

¿Cómo obtener el nombre de la columna actual en Excel?

Siéntete libre de compartir nuestra página y códigos con tus amigos, necesitamos tu ayuda para ampliar nuestra comunidad.

Solución:

Pruebe la siguiente función:

=SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")

Explicación: ADDRESS(row_num, column_num, [abs_num]). [abs_num] = 4 = dirección relativa. Eso significa que no hay ‘$’ en el valor devuelto. Para la Columna ‘AB’, el ADDRESS devolverá ‘AB1’. El suplente quita el ‘1’.

Puedes usar el ROW y COLUMN funciones para hacer esto. Si omite el argumento de esas fórmulas, se utiliza la celda actual. Estos se pueden utilizar directamente con el OFFSET o cualquier otra función en la que pueda especificar tanto la fila como la columna como valores numéricos.

Por ejemplo, si ingresa =ROW() en la celda D8, el valor devuelto es 8. Si ingresa =COLUMN() en la misma celda, el valor devuelto es 4.

Si desea la letra de la columna, puede utilizar el CHAR función. No recomiendo el uso de letras para representar la columna, ya que las cosas se complican cuando se pasa a nombres de columna de dos letras (donde de todos modos es más lógico usar números).

Independientemente, si aún desea obtener la letra de la columna, simplemente puede agregar 64 al número de columna (siendo 64 un carácter menos que A), por lo que en el ejemplo anterior, si establece el valor de la celda en =CHAR(COLUMN()+64)el valor devuelto sería D. Si quisiera que el valor de una celda fuera la ubicación de la celda en sí, la fórmula completa sería =CHAR(COLUMN()+64) & ROW().


Solo un FYI, obtuve 64 de una tabla ASCII. También podrías usar el CODE fórmula, por lo que la fórmula actualizada que usa esto sería =CHAR(COLUMN() + CODE("A") - 1). Tienes que restar 1 ya que el valor mínimo de COLUMN es siempre 1, y entonces el valor de retorno mínimo de toda la fórmula sería B.

Sin embargo, esto no funcionará con columnas de dos letras. En ese caso, necesita la siguiente fórmula para analizar correctamente las columnas de dos letras:

=IF(COLUMN()>26,IF(RIGHT(CHAR(IF(MOD(COLUMN()-1,26)=0,1,MOD(COLUMN()-1,26))+64),1)="Y",CHAR(INT((COLUMN()-1)/26)+64) & "Z",CHAR(INT((COLUMN()-1)/26)+64) & CHAR(IF(MOD(COLUMN(),26)=0,1,MOD(COLUMN(),26))+64)),CHAR(COLUMN()+64))&ROW()

No estoy seguro de si hay una manera más fácil de hacerlo o no, pero sé que funciona desde el celular A1 a ZZ99 sin problemas Sin embargo, esto ilustra por qué es mejor evitar el uso de identificadores de columna basados ​​en letras y seguir con fórmulas puramente basadas en números (por ejemplo, usar el número de columna en lugar de la letra con OFFSET).

Prueba esto

=SUBSTITUTE(SUBSTITUTE(CELL("address"),"$" & ROW(),""), "$", "")

Esto le da un encabezado de columna exacto, sin $, etc.

Reseñas y puntuaciones

Si para ti ha sido de provecho nuestro artículo, sería de mucha ayuda si lo compartieras con el resto juniors y nos ayudes a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *