Como construir uma referência de célula a partir de dois números sem usar text()+indirect()?

Como construir uma referência de célula a partir de dois números sem usar text()+indirect()?

As referências de células podem ser construídas programaticamente usando uma combinação das funções concatenate(), text() e indirect() com alguma fórmula numérica. Isso funciona bem, mas pode fazer com que a fórmula de chamada pareça lotada e desajeitada. Também evita que o endereço da célula referida seja atualizado automaticamente quando a célula alvo é movida (arrastada) na planilha.

Por exemplo, faça uma célula igual a B2:

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

3-1é para fins ilustrativos - a fórmula real é mais complicada

Existe uma maneira de criar a referência de forma mais direta, ou seja, sem ir para o domínio de manipulação de TEXTO, algo como:

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

E com isso preservar também a referência automática de uma célula B1 movida?

Responder1

Não tenho certeza se isso ajuda, mas também sugiro usar a função OFFSET.

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

por exemplo, você pode usar =OFFSET(B3,-1,0)e a referência da célula será atualizada conforme seus dados são movidos

Responder2

Seu exemplo é diretamente equivalente a

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

Responder3

Você pode usar INDEX que será atualizado se você arrastá-lo, por exemplo

=INDEX(B:B,3-1)

arraste-o e ele mudará para C:C, D:D etc.

informação relacionada