Qualquer endereço de célula se ajustará às linhas inseridas / excluídas, independentemente de você tê-las anotado como referências absolutas ou relativas. Isso é comportamento por design . O método que você forneceu na edição original da questão é uma maneira de contornar o processo, mas os endereços das células não precisaram ser resolvidos pela função ADDRESS
; eles poderiam facilmente ser escritos na função INDIRECT
como texto.
A fórmula do G2 é: =INDIRECT("G4")-INDIRECT("G5")
Outra opção é a função OFFSET
, que codifica os números como deslocamentos ou staggers a partir de um ponto de referência. Esses inteiros codificados não serão alterados com uma inserção ou exclusão de uma linha / coluna.
A fórmula do G2 é: =OFFSET($G$1, 3, 0)-OFFSET($G$1, 4, 0)
As funções OFFSET
e INDIRECT
são consideradas voláteis . Nesse contexto, volátil significa que a fórmula será recalculada para cada ciclo de cálculo que a pasta de trabalho experimenta, independentemente de um valor alterado afetar ou não o resultado da fórmula. Funções na categoria volátil fazem pouca diferença em planilhas menores ou mesmo em planilhas maiores se o cálculo for simples e o número de fórmulas envolvendo a função for limitado. No entanto, com fórmulas e fórmulas dependentes suficientes em uma planilha grande em algum momento, o atraso no cálculo se torna incômodo. Aqui está uma solução não volátil.
A fórmula do G2 é: =INDEX(G:G, 4)-INDEX(G:G, 5)
Novamente, o identificador de linha é codificado da mesma maneira que o escalonamento é com OFFSET
, mas esse uso de INDEX
em não uma fórmula volátil.