Você não pode usar referências simples para fazer isso. Você precisa usar a função INDEX()
para cada referência da seguinte forma:
=INDEX(D:D,18+(ROW()-500)*2)*INDEX(D:D,18+(ROW()-500)*2+1)
Eu tenho uma tabela que estou tentando manter dinâmica enquanto uso a seguinte lógica:
Cell D500 - "=D18*D19"
Cell D501 - "=D20*D21"
Cell D502 - "=D22*D23"
...
Eu preciso manter tanto a linha quanto a coluna dinâmicas, já que vou copiar isso para as colunas E a SV (~ 500 colunas), mas não consigo descobrir uma boa maneira de copiar isso para baixo sem incrementar o valor da linha por 1 em vez de 2., ou tendo todos os tipos de comportamento indesejado.
Existe uma boa maneira de fazer isso?
Outra solução, usando a função INT()
:
=INDIRECT(ADDRESS(INT((ROW()-500)*2)+18,4))*INDIRECT(ADDRESS(INT((ROW()-500)*2)+19,4))
Existem alguns parâmetros:
500
: este é o número onde sua fórmula começa, no seu caso, aquela célula D500 4
: este é o número da coluna (a célula D500 está na quarta coluna) 2
: esse é o número de multiplicações. Se você quisesse multiplicar 3 itens ( D18*D19*D20
), precisaria usar 3
. 18
/ 19
: esta é a primeira e segunda linha de seus cálculos. Convido você a usar o botão Avaliar na guia Fórmula para ver como funciona passo a passo.
Tags microsoft-excel