¿Cómo puedo obtener la referencia de celda de un rango con nombre en Excel?


1

Resolví el problema, pero me pregunto si hay una mejor manera de hacerlo. Lo que tengo es una columna de algunos rangos con nombre ("NAME"), y quiero una fórmula a la derecha que busque el rango con nombre y me dé la referencia de celda ("C352").

Finalmente lo resolví con esto:

=CHAR(64+COLUMN(INDIRECT(C2, FALSE)))&ROW(INDIRECT(C2, FALSE))

La parte CHAR es traducir el número de columna (3) a la letra (C), y no funciona más allá de la columna Z.

Esta no debería ser la mejor manera de hacerlo. Vi algunas soluciones de VBA, ¿es esa la única forma posible de hacerlo mejor?

Respuestas:


1
=ADDRESS(ROW(INDIRECT(C2)),COLUMN(INDIRECT(C2)),4,1)

Cómo funciona

  • INDIRECT(C2)devuelve una dirección de referencia especificada por C2. El rango al que hace referencia el rango con nombre en este caso.
  • ROW( ... ) devuelve la fila de la celda especificada
  • COLUMN( ... ) lo mismo para la columna
  • ADDRESS( r, c, 4, 1)devuelve la dirección o fila r, columna c. 4significa relativo (es decir, no $'s. 1significa A1estilo. Así ADDRESS(ROW( ... ),COLUMN( ... ),4,1)será la dirección del rango nombrado en A1notación

3

Si puede vivir con $ en la referencia, puede usar:

=CELL("address",INDIRECT(C1))

o:

=SUBSTITUTE(CELL("address",INDIRECT(C1)),"$",)

dejar caer el $


2
= DIRECCIÓN (FILA (INDIRECTO (C2, FALSO)), COLUMNA (INDIRECTO (C2, FALSO)), abs_num )

donde abs_num es 1 para devolver una dirección absoluta (por ejemplo, " $C$352"), 4 para devolver una dirección relativa (por ejemplo, " C352"), o 2 para " C$352", o 3 para " $C352". ( abs_num por defecto es 1 (es decir, absoluto) si se omite).


Esta es la forma más directa de obtener esto? ¿No hay nada parecido =ADDRESS(C2)o similar?
Ehryk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.