Como posso combinar a função INDEX com o Preenchimento automático no Excel?

0

Estou tentando calcular cargas em uma ponte levadiça durante sua rotação da posição fechada para a aberta usando o Excel 2013. Isso é feito em várias planilhas, onde, por exemplo, uma planilha calcula o movimento do Centro de Gravidade e outra a carga de vento. Tudo isso é feito em tabelas com a seguinte aparência:

[Time]    [Angle]    [Wind velocity]    [Wind load]
   0         0             5                 0  
   1         0.5           5                 3       
   2         1.0           5.1               6.3
   3         1.5           5.2               9.6

Exceto pelo tempo, todos os valores são calculados com fórmulas. Meu objetivo é ser capaz de dar ao leitor a percepção do documento sobre quais são essas fórmulas para que possam ser verificadas. Eu faço isso usando a função Getformula. Isso é fácil de usar em uma única tabela: nomeie todas as colunas e use Getforumula na célula que deseja exibir.

Nesse caso, no entanto, as tabelas estão em uma planilha diferente e em linhas diferentes, portanto, as referências das colunas nomeadas não funcionam mais (diretamente). Para resolver isso, eu uso a função INDEX, por exemplo, para o primeiro valor da carga de vento:

=INDEX(Angle;1)*INDEX(Surface_Area;1)*INDEX(Wind_Velocity;1)

(não se importe com a fórmula, apenas inventei esse exemplo, pois o real é bem complicado)

No exemplo acima, a 'Surface_Area' é calculada em outra planilha.

Se eu quiser calcular as linhas subsequentes da tabela, costumo selecionar a célula superior da tabela e usar a opção Preenchimento automático para "puxar" a célula para baixo e preencher a parte restante da tabela. No entanto, o argumento na função INDEX não permite isso, permanece 1. Como isso pode ser alcançado de tal forma que o código ainda é fácil de entender usando Getformula?

Nota: Usando o VBA, vou tentar remover a parte 'INDEX' do resultado do Getformula, então o resultado é melhor de entender.

    
por Joop 13.04.2017 / 14:57

0 respostas