¿Cómo construir una referencia de celda a partir de dos números sin usar texto()+indirect()?

¿Cómo construir una referencia de celda a partir de dos números sin usar texto()+indirect()?

Las referencias de celda se pueden construir mediante programación utilizando una combinación de las funciones concatenar(), text() e indirect() con alguna fórmula numérica. Esto funciona bien, pero puede hacer que la fórmula de llamada parezca abarrotada y torpe. También evita que la dirección de la celda referida se actualice automáticamente cuando la celda de destino se mueve (arrastra) en la hoja de cálculo.

Por ejemplo, haga una celda igual a B2:

=INDIRECT(CONCATENATE("B", TEXT(3-1,"0")))

3-1es para fines ilustrativos; la fórmula real es más complicada

¿Hay alguna manera de crear la referencia de manera más directa, es decir, sin ir al dominio de manipulación de TEXTO, algo como:

=("B"):(3-1)

¿Y con esto también preservar la referencia automática de una celda B1 movida?

Respuesta1

No estoy seguro de si esto ayuda, pero también podría sugerir el uso de la función OFFSET.

OFFSET(cell reference, rows, cols [, height [, width]])

por ejemplo, puede usar =OFFSET(B3,-1,0)y la referencia de la celda se actualizará a medida que sus datos se muevan

Respuesta2

Su ejemplo es directamente equivalente a

=INDIRECT("B"&(3-1))

Respuesta3

Puede usar INDEX, que se actualizará si lo arrastra, por ejemplo

=INDEX(B:B,3-1)

arrástrelo y cambiará a C:C, D:D, etc.

información relacionada