Tenho grupos de fórmulas no Excel 2016:
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
As fórmulas são repetidas quatro vezes em cada grupo.
Eu gostaria de preencher automaticamente as próximas quatro linhas (e assim por diante):
...
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
Existe uma maneira de fazer isso?
A maneira usual de fazer isso é usar a função INDEX() que permite procurar uma célula dentro de um intervalo de células, fornecendo o número da linha e da coluna.
Use algo assim:
Onde
$A$1:$A$100 é o intervalo de células que você está referenciando (pode diminuir tanto quanto você desejar).
ROW() fornece o número da linha da célula a que se refere, então ROW($A1)-ROW($A$1) nos fornece o número de células abaixo da primeira célula que estamos preenchendo. (Observe os $'s)
Divida isso por 4 e arredonde para baixo e nos dá um número de linha da célula da qual estamos obtendo dados. Esta fórmula pode ser copiada na página até onde você quiser.
É possível usar as funções "OFFSET" ou "INDIRETO" de maneira semelhante, mas elas tornarão sua planilha muito mais lenta porque são funções 'voláteis' que não podem tirar proveito das otimizações inteligentes do processo de cálculo do Excel.
Otimizações:
Podemos reduzir o número de usos de "ÍNDICE" porque 3 de cada 4 células são iguais à anterior. Então usamos:
Isso ainda pode ser copiado e colado na folha, desde que você o faça apenas em blocos de 4 linhas.