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

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

¿Cuál es la función para obtener el número de línea actual y el nombre de la columna actual para una celda en Excel?

Respuesta1

Puede utilizar las funciones ROWy COLUMNpara hacer esto. Si omite el argumento de esas fórmulas, se utiliza la celda actual. Estos se pueden utilizar directamente conla OFFSETfunción, o cualquier otra función donde 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 la CHARfunción. No recomiendo el uso de letras para representar la columna, ya que las cosas se complican al pasar a nombres de columnas de dos letras (donde usar números es más lógico de todos modos).

Independientemente, si aún desea obtener la letra de la columna, simplemente puede agregar 64 al número de la 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 misma, la fórmula completa sería =CHAR(COLUMN()+64) & ROW().


Sólo para su información, obtuve 64 de una tabla ASCII. También podrías usar la CODEfórmula, por lo que la fórmula actualizada usando esto sería =CHAR(COLUMN() + CODE("A") - 1). Tienes que restar 1 ya que el valor mínimo de COLUMNes siempre 1, y luego el valor mínimo de retorno 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 si hay una manera más fácil de hacerlo o no, pero sé que funciona desde el celular A1sin ZZ99problemas. Sin embargo, esto ilustra por qué es mejor evitar el uso de identificadores de columna basados ​​en letras y seguir con fórmulas basadas puramente en números (por ejemplo, usar el número de columna en lugar de la letra con OFFSET).

Respuesta2

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', devolverá ADDRESS'AB1'. El suplente quita el '1'.

Respuesta3

Prueba esto

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

Esto le proporciona el encabezado de columna exacto, sin $, etc.

Respuesta4

Para obtener el nombre de la columna utilicé las siguientes fórmulas.

Para una celda en particular:

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

Para la celda actual:

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

Prueba esta variación. Funciona en columnas de 3 letras y no deja un "$" al principio:

=SUBSTITUTE(ADDRESS(ROW(XFD123),COLUMN(XFD123),4),ROW(XFD123),"")

información relacionada