O Planilhas Google possui um recurso em que, se você tiver uma referência a uma célula de dados em uma fórmula, e você cortar os dados dessa célula e colá-los em um novo local, a referência na fórmula será atualizada para apontar para o novo local da célula.
Eu gostaria de poder cortar e colar meus dados sem alterar minhas fórmulas.
Eu fiz algumas coisas horríveis no passado envolvendo a INDIRECT()
função para solucionar esse recurso, mas parece que deve haver uma maneira mais fácil. Alguma sugestão?
google-sheets
Grahamparks
fonte
fonte
Respostas:
A
=$A$1
notação também pode ser movida automaticamente se o valor em (digamos)A1
for alterado.A única solução infalível é incluir todas as suas referências
INDIRECT
, por exemplo,=INDIRECT("$A$1")
ou mesmo apenas=INDIRECT("A1")
.A dificuldade com qualquer uma dessas soluções é onde você tem muitas da mesma fórmula, por exemplo
Normalmente, você preenche o primeiro
=A1
e depois copia e cola (ou arrasta para baixo usando o preenchimento automático) para preencher automaticamente a fórmula consecutiva. Se, no entanto, a primeira fórmula for=$A$1
ou não=INDIRECT("A1")
, esse truque não funcionará (de fato,$
é para isso - impedir que ele seja alterado automaticamente).Se você tiver muitas fórmulas consecutivas, uma solução é:
=A1
e preenchimento automático)=A1
,=A2
...=A99
nas=INDIRECT("A1")
etc. Observe que você tem a opção de usar expressões regulares ao fazer uma busca e substituição.fonte
No fórum do Google Docs :
Selecione o intervalo de células. Em seguida, use Ctrl+ C(copiar; isso deve colocar as células e suas fórmulas no buffer de colagem).
Agora arraste (passe o mouse sobre a borda da seleção até o cursor do mouse se transformar em uma mão; agora você pode arrastar) as células selecionadas para a nova posição.
Volte à posição original superior esquerda das células copiadas e use Ctrl+ V(colar).
Agora você deve ter dois conjuntos de fórmulas referenciando as mesmas células.
fonte
Deparei com isso procurando um problema semelhante e acabei encontrando uma solução para o Excel que parece funcionar perfeitamente nas planilhas do Google.
Para as referências de célula que você não deseja alterar na colagem, basta adicionar
$
antes de cada parte.Então
G12
se tornaria$G$12
Uma célula de uma planilha que estou usando, que faz o que eu preciso, se parece com isso:
fonte
$
enquanto células absolutas são padrão.$G$1&Sheet1!B3&Sheet1!A3&$G$2
, nós fazemosG1&Sheet1!$B$3&Sheet1!$A$3&G2
.Nas Planilhas do Google, para cortar e colar células sem alterar automaticamente suas fórmulas, use Ctrl+ Xpara cortar (ou Ctrl+ Cpara copiar) e Ctrl+ Shift+ Vpara colar.
Ele Shiftdiz ao Planilhas Google para deixar suas fórmulas em paz.
fonte
ctrl
+shift
+v
, ele sempre copia os valores, mesmo se você fezctrl
+x
nas células de origem.Solução alternativa da mesma maneira que no Excel:
COPIAR e colar os dados, volte e exclua-os do local original.
fonte
Cortar (em vez de Copiar) parece funcionar para mim, provavelmente pelo mesmo motivo que arrastar as células selecionadas funciona - ou seja, é a mesma operação. Essa também é a única maneira que conheço de colar em outra página sem alterar a fórmula.
Se você estiver tentando fazer uma cópia em vez de uma movimentação, use o método de arrastar (copiar antes de arrastar) ou copie-o em outro lugar da página primeiro.
fonte
Para mover um intervalo de células para um novo local no Planilhas Google:
1. Selecione o intervalo de células que você deseja mover
2. Mova o mouse para qualquer extremidade da seleção até que o cursor mude para uma mão
3. Arraste suas células para o novo local
Isso faz o que deveria - move-os - para que todas as informações da célula permaneçam exatamente como estavam no local original.
ps. O Google também instruiu isso aqui, mas eles não dizem que você pode arrastar de qualquer borda, apenas a de cima, e é por isso que minhas instruções são melhores! :) Também é bom observar que as células que você seleciona precisam estar adjacentes para que isso funcione.
fonte
Faça uma cópia de texto da fórmula em vez de uma célula: Use o mouse para selecionar o texto da fórmula e pressione CTRL + C. Em seguida, selecione o campo de destino e pressione CTRL + V. Isso preserva a fórmula
fonte
A maneira mais fácil é selecionar todas as células que você deseja mover e arrastar / soltar para onde você as deseja. Se você tiver fórmulas em outras células que estavam fazendo referência novamente ao local original das células que você moveu, as fórmulas de referência serão atualizadas automaticamente para o novo local das células que você moveu. Espero que isto ajude! (Supondo que isso funcione no Excel, mas eu o fiz apenas no Planilhas Google).
fonte
fonte
Acabei de encontrar e substituir todas as instâncias de '=' por '' (ou o máximo de fórmulas que estou tentando copiar possível) para transformar todas as fórmulas em texto sem formatação. Copio e colo as células e adiciono o '=' de volta.
Nota: isso provavelmente não funcionará para folhas grandes, pois pode ter consequências indesejadas ao editar outras células, mas geralmente funciona para meus propósitos.
fonte
Aqui está outra opção:
Embora isso pareça um procedimento longo, na prática são apenas alguns pressionamentos de tecla. Além disso, a etapa 4 é obrigatória na minha configuração - sem ela, o Planilhas ainda atualizará os locais das células como se fosse uma cópia e colagem direta. YMMV.
fonte
O uso de
INDIRECT()
obras excelentes para preservar a posição absoluta das referências depois que os destinos foram copiados e colados, mas o problema é que ele também preserva a posição absoluta quando a fórmula é copiada, o que significa que você não pode estender facilmente uma fórmula para cobrir uma grande quantidade alcance ao usá-lo.A solução é combinar
INDIRECT()
comROW()
,COLUMN()
eADDRESS()
gerar programaticamente a posição da célula de destino com base na célula da fórmula.No caso mais simples, como quando a célula de destino tem uma coluna fixa e sempre permanece na mesma linha que a fórmula, isso pode ser feito da seguinte maneira:
INDIRECT("A"&ROW())
Para introduzir deslocamentos dinâmicos da célula da fórmula, você pode usar
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
Na captura de tela abaixo, as fórmulas no
B1:E1
foram estendidas para as 16 linhas abaixo e, em seguida, a sequência numéricaA7:A10
foi cortada e colada em 6 células. Como você pode ver, as fórmulas mais simples foram ajustadas e dessincronizadas automaticamente, enquanto o uso ingênuo deINDIRECT()
não extrapolou corretamente todas as linhas, mas as duas fórmulas usadasINDIRECT()
com a recuperação programática dos locais das linhas e das colunas foram capazes de manter suas referências:fonte
Você pode pressionar F4para percorrer as várias opções de referência absoluta quando o cursor estiver na célula ou no intervalo. Isso funciona no Mac e Windows.
fonte