As referências de célula podem ser construídas programaticamente usando uma combinação das funções concatenate (), text () e indireta () com alguma fórmula numérica. Isso funciona bem, mas pode fazer com que a fórmula da chamada pareça cheia e desajeitada. Também impede que o endereço da célula referido seja atualizado automaticamente quando a célula de destino for 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 mais diretamente, ou seja, sem ir para o domínio de manipulação TEXT, algo como:
=("B"):(3-1)
E por isso também preserva a referência automática de uma célula movida B1?
fonte
rows
ecols
por fórmulas equivalentes que avaliam0
para o local original e o destino ref agora é móvel.Seu exemplo é diretamente equivalente a
fonte
Você pode usar o INDEX, que será atualizado se você o arrastar, por exemplo
=INDEX(B:B,3-1)
arraste isso e ele mudará para C: C, D: D etc.
fonte
B:B
nessa fórmula se comporta como qualquer outra referência de célula em qualquer outra fórmula. Se você arraste-o oucopy
e cole o de referência vai mudar, dependendo do local onde você copiar / arrastá-lo - se vocêcut
-lo e colar, em seguida, isso não muda