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.