A melhor opção seria usar intervalos nomeados: um intervalo nomeado pode ser relativo à célula inserida. Por exemplo. se você selecionar a célula A2 e inserir um nome _CellAbove with the formula = A1 (without the $ 'inserido automaticamente!), você pode usar CellAbove em qualquer célula para se referir à célula acima da célula. célula com a fórmula.
Portanto, para o seu exemplo, selecione cell D2 e insira dois nomes (usando o Name Manager ):
* ColA : =$A2
* ColA_above : =$A1
Em seguida, use =ColA+ColA_above como a fórmula em D2 e copie-a. (Use =ColA em D1 ).
Isso sempre retornará o resultado correto - e não é volátil, o que é realmente útil em grandes cálculos!
Nota adicional: Para o seu primeiro exemplo com a multiplicação, eu recomendo simplesmente converter seus dados para uma tabela do Excel ( Inserir guia - > Tabela . em vez da coluna A e B , você teria colunas, digamos Price e Quantity - e, em vez de =A1*B1 , você acabaria com =[@Price]*[@Quantity] ao inserir a fórmula (da mesma maneira como de costume, isto é, o Excel colocará esses nomes, não precisa se preocupar com isso.) Agora, mesmo se você alterar o strucuter da planilha, as fórmulas funcionarão!