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.