Estou apenas jogando, mas isso destacou um problema potencial no Excel que eu não conhecia. Eu pensei que referências de células absolutas ($ C $ 4) significavam que a referência NUNCA mudaria, mas descobri que isso muda quando não quero.
Eu tenho algumas células de dados com uma soma automática na parte inferior de cada coluna com referências de célula absolutas. Eu quero fazer alterações nos dados acima e ter os totais atualizados automaticamente. Movi os dados para a direita com insert (Ctrl+) e as referências das células foram alteradas. Por quê? Eu não alterei ou movi os totais apenas os dados. Através de alguns testes, isso só acontece quando eu movo todas as células referenciadas de uma só vez. Essa é a questão? Se eu mover uma ou duas linhas apenas isso não acontece e se eu mover duas linhas então as outras duas linhas (ou seja, todas as linhas em duas etapas) também não acontece. Além disso, se eu estender a soma para incluir uma linha em branco acima/abaixo e apenas mover os dados entre eles, isso não acontecerá.
Encontrei algumas soluções alternativas, mas ainda seria bom entender por que uma referência de célula absoluta não é uma referência de célula absoluta o tempo todo.
Na imagem as células com o destaque amarelo são a soma automática que deve atualizar, os dados extras de cada lado dessas colunas são uma cópia para que eu possa mover os dados para a esquerda ou para a direita para alinhar as opções sem redigitar todos os números.
A referência absoluta não é para proteger as referências contra a movimentação das células de origem ou resultado. Na verdade, não vai, a menos que apenas uma parte de qualquer intervalo seja movida em vez de todo o intervalo.
A referência absoluta serve para proteger fórmulas que são colocadas em outro lugar. (Colocadas em células que não estão onde foram originalmente escritas, por exemplo, escrever uma na célula A1 e depois copiá-la nas células A2 a A40000, ou coisas que efetivamente fazem isso, como usar uma referência não absoluta em um intervalo nomeado que é então referenciado em outras células que não aquela (muitas vezes descuidada) selecionada quando o Intervalo Nomeado foi criado.)
Para proteger suas referências no tipo de caso que você está referenciando (desculpe, eu gosto de trocadilhos e qualquer coisa próxima, então...), você adota uma
REALLY absolute
abordagem de referência:Como a referência de intervalo ("A1:A4") é uma string trext, o Excel não tentará alterá-la para nenhuma inserção de coluna ou linha, nem para copiar a célula para outras células, nem movimentos de arrastar e soltar da célula ou o intervalo referenciado. É verdadeiramente absoluto para seus propósitos.
Também posso mencionar que escrever "INDIRECT("A1:A4") não é materialmente mais difícil do que escrever "A1:A4", parando, destacando o suficiente, pressionando F4 e seguindo em frente, especialmente com as alterações que o Excel fez na edição fórmulas que significam que você geralmente tem que chegar até o mouse para fazer isso realçar ou arriscar o movimento da tecla de seta terminará sua edição, geralmente em um momento estranho que gera o caminho de frustração "há um problema ...", então reclamações Ouvi dizer que é tão bestial ter que usar
INDIRECT()
são bastante infundados!Observe, porém, que fazê-lo enquanto escreve a fórmula mascara os intervalos da verificação de erros usual (e válida) do Excel ao pressionar
Enter
, então sugiro escrever os intervalos vazios enquanto escreve a fórmula, pressionandoEnter
para ver se o Excel a aceita e editando as referências que você precisa ser realmente absoluto. Isso também facilita bastante, já que você pode escrever a primeira edição, depois copiar oINDIRECT("
início e, para qualquer outra, apenas colá-la antes dos intervalos e digitar apenas")
depois de cada uma. Entãofica assim: