Como copiar várias fórmulas relativas exatamente como elas são?

3

Eu quero copiar fórmulas com referências relativas a outro intervalo sem alterar a fórmula / atualizar essas referências relativas. Eu sei que existem alguns add-ons pagos que fazem isso, mas eu não estou querendo dar dinheiro para as pessoas por algo tão simples.

Exemplo:
A1 contém =C2+B3 (e está funcionando / resolvendo)

Copie o A1 para X1
X1 agora contém =C2+B3 (e está funcionando / resolvendo)

Eu faço isso e modifico levemente a nova cópia das fórmulas por meio de substituições e outros meios. (Então eu preciso deles funcionais e não cole links especiais)

Atualmente, basta substituir = por x= , copiar / colar e, em seguida, substituir x= por = . Eu vi pessoas ao longo dos anos usando maneiras mais extravagantes através da funcionalidade XLS nativa, mas eu não sei como. Eu preciso fazer isso para centenas de fórmulas diferentes de uma só vez, então copiar / colar a fórmula de cada uma individualmente não vai funcionar.

/// Há uma solução incompleta para descobrir:

Altere o formato da célula para texto. Digite =A1 agora você recebe apenas texto. Alterar o formato para geral não resolve a fórmula. Como podemos resolver uma matriz destes para começar a funcionar como fórmulas novamente, não apenas texto? (Além de entrar em cada um e pressionar enter)

... (e para qualquer pessoa curiosa, o complemento Kutools faz isso - cópia exata)

    
por helena4 27.04.2017 / 16:40

4 respostas

2

Isso presume que você tenha uma cópia salva da pasta de trabalho.


1. Cortar as fórmulas para o seu intervalo.
2. Abra uma nova pasta de trabalho e cole o intervalo de corte. 3. Feche a pasta de trabalho original sem salvar. 4. Abra a pasta de trabalho original. 5. Recorte e cole o intervalo da nova pasta de trabalho para a nova faixa na pasta de trabalho original.

As células coladas agora referenciarão explicitamente as posições originais (por exemplo, [WorkBook1.xlsx]Sheet1!A1 ). Se você não quiser a referência explícita, poderá usar localizar e substituir para eliminar o texto extra.

    
por 27.04.2017 / 17:16
1

Você pode usar FORMULATEXT() . Se a fórmula em A1 for =B1+C1 , em D1 se você colocar =FORMULATEXT(A1) , ela retornará =C1+B1 como uma string.

Depois, você pode mover a fórmula, copiar / colar, etc.

    
por 27.04.2017 / 16:54
0

Eu simplesmente faço isso:

  1. Na célula com a fórmula, pressione F2
  2. Realce a fórmula e pressione Ctrl + c para copiá-la (como texto).
  3. Cole para outra célula ou intervalo de células:)
por 27.04.2017 / 16:54
0

Que tal usar INDIRECT() ?

=INDIRECT("A1") . Isso mostrará o valor que a fórmula A1 retorna. Se você atualizar a fórmula em A1 , ela será atualizada em todos os lugares. Você também pode copiar / colar a fórmula INDIRECT() em qualquer lugar sem precisar ajustar a referência:

    
por 27.04.2017 / 21:39