Como fixar as referências do LibreOffice no lugar?

0

Eu tenho uma série de células com fórmulas muito simples nelas (por exemplo: G2=G4-G5 ) e eu quero que fique fixo o que eu fizer na folha, em particular eu quero que seja resistente à inserção de uma linha entre row4 e row5.

Eu tentei todas as combinações de cifrão (por exemplo: G2=G4-$G$5 ), sem sucesso.

O que estou fazendo de errado?

Para explicar o contexto: Eu tenho o seguinte:

G2=G4-G5
G4=C17
G5=<number>

Em determinado momento, preciso:

  • Insira uma linha entre Row4 e Row5
  • Copie o valor atualmente em G4 para o novo (vazio) G5
  • Verifique se a fórmula em G2 ainda aponta para G4-G5 (deve ser zero logo após essa operação, é claro)
  • Isso vale para várias colunas (não todas).

Depois de resolver isso, tentarei automatizar este procedimento, mas agora estou com a primeira linha se tornando G2=G4-G6 após a inserção da linha.

UPDATE : Eu realmente encontrei uma maneira de fazer isso, mas parece um exagero:

G2=INDIRECT(ADDRESS(ROW()+2, COLUMN()), 1) - INDIRECT(ADDRESS(ROW()+3, COLUMN()), 1)

Isso é realmente necessário?

    
por ZioByte 15.12.2014 / 12:40

1 resposta

0

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.

    
por 25.12.2014 / 01:12