Aplicar fórmula a toda a coluna


96

Estou tentando recodificar todo o código postal da coluna A para a coluna B com a fórmula:

=TEXT(A1,"00000")

Como isso:

insira a descrição da imagem aqui

Quero que todas as células da coluna B sejam transformadas usando a fórmula acima. Mas eu tenho mais de 40.000 linhas, então é impossível arrastar a fórmula para baixo e aplicá-la a toda a coluna B.

Existe uma fórmula que eu poderia usar para resolver esse problema?

Respostas:


89

Acho que é um recurso mais recente, mas funciona para mim:

Clicar duas vezes no quadrado na parte inferior direita da célula destacada copia a fórmula da célula destacada.

Espero que ajude.


20
Esta é a resposta correta para a pergunta. Clicar duas vezes no "indicador de arrastar" (canto inferior direito) copiará a fórmula para todas as células. Certifique-se de LIMPAR os dados da coluna primeiro e aplicar sua fórmula a apenas uma. A resposta acima com "ArrayFormula" parece ser capaz de aplicar muitas células a uma fórmula, o que não é o que OP queria.
Thanasis Kapelonis

3
Obrigado por compartilhar. Funciona bem para mim, mas eu prefiro usar a função ArrayFormula, simplesmente porque ao contrário do seu método, que basicamente copia exatamente a mesma fórmula para todas as células, ArrayFormula será mais dinâmico e pode ser programado com mais facilidade.
Shahab Yarmohammadi

3
@ThanasisKapelonis, você não precisa limpar os dados. Basta clicar duas vezes no indicador de arrasto e ele aplica a fórmula a todas as linhas subsequentes onde os dados em cada espaço reservado estão disponíveis nas colunas correspondentes para aquela linha. Ele vai parar onde os dados estão faltando. conforme mostrado por Brett Sutton
dresh

2
Tenho muitos dados para responder, falha e preciso recarregar a página.
Daniel Ryan

1
Embora essa possa ser uma dica valiosa para resolver o problema, uma boa resposta também demonstra a solução. Por favor edite a fornecer exemplo de código para mostrar o que você quer dizer. Como alternativa, considere escrever isso como um comentário.
Toby Speight,

58

Eu acho que você está com sorte. Por favor, tente entrar em B1:

=text(A1:A,"00000")

(muito semelhante!), mas antes de bater, Enterpressione Ctrl+ Shift+ Enter.


32
Quando tento Ctrl + Shift + Enter, ele apenas envolve minha fórmula com ArrayFormula(…).
binki

2
@pnuts, o que quer dizer que deveria? isso também não funciona para mim. continue recebendo ArrayFormula (
JayPex

4
@pnuts talvez isso tenha mudado no ano passado, mas ArrayFormula não estende a fórmula para baixo da Coluna B como a imagem do OP. Para mim, ele simplesmente preenche o valor da célula selecionada.
Assimilador

11
Obrigado por compartilhar. Funcionou muito bem para mim. Acho que uma coisa que as pessoas podem estar faltando é a parte B1: B, com a qual lutei comigo mesmo por alguns segundos. Você deve substituir sua única coluna, digamos B1, por uma matriz de colunas B1: B em sua fórmula, para que ela funcione. De longe, este é o melhor método e o mais dinâmico.
Shahab Yarmohammadi

4
Isso funcionou para mim também. Obrigado pelos esclarecimentos nos comentários. Outra coisa que me incomodou foi que todas as células abaixo devem estar vazias. Acho que pensei que eles seriam apenas substituídos.
LOAS

52

Parece que algumas das outras respostas ficaram desatualizadas, mas para mim funcionou:

  1. Clique na célula com o texto / fórmula para copiar
  2. Shift + clique na última célula para copiar
  3. Ctrl + Enter

(Observe que isso substitui o texto se as células de destino não estiverem vazias)


7
Funciona com CMD + Enter no Mac.
StapleGun

4
Esta é a melhor resposta em 2019.
Happy Bird

1
Esta resposta funciona para uma gama muito mais ampla de fórmulas e deve ser a resposta aceita
phlare

1
Funciona apenas em uma coluna por vez, mas funciona bem. Se você quiser fazer isso rapidamente para um monte de coisas, Ctrl+Shift+Downselecione até o final da coluna atual, Ctrl+Entercomo você disse, então Up, Right, [Down](o último não será necessário se você estiver na linha 1) para chegar a a próxima coluna.
Adam Barnes

Funciona perfeitamente em 2020. Obrigado!
nxmohamad 01 de

8

Digamos que você queira substituir algo em uma matriz de string e não queira executar copiar e colar em toda a planilha .

Vamos tomar isso como exemplo:

  • Matriz de strings na coluna "A": {maçã, banana, laranja, ..., abacate}
  • Você deseja substituir o caractere de "a" por "x" para ter: {xpple, bxnxnx, orxnge, ..., xvocado}

Para aplicar essa fórmula em toda a coluna (matriz) de maneira limpa e elegante, você pode fazer:

=ARRAYFORMULA(SUBSTITUE(A:A, "a", "x"))

Também funciona para matrizes 2D, digamos:

=ARRAYFORMULA(SUBSTITUE(A2:D83, "a", "x"))

8

Outra solução encontrada:

  • Aplique a fórmula às primeiras 3 ou 4 células da coluna
  • Ctrl+ Ca fórmula em uma das últimas linhas (se você copiar a primeira linha, não funcionará)
  • Clique no cabeçalho da coluna para selecionar toda a coluna
  • Pressione Ctrl+ Vpara colar em todas as células abaixo

2
Isso parece funcionar de maneira mais confiável do que clicar duas vezes para mim. Obrigado!
Ivan

4

Isso é para aqueles que desejam sobrescrever as células da coluna rapidamente (sem cortar e copiar). Isso é o mesmo que clicar duas vezes na caixa da célula, mas ao contrário de clicar duas vezes, ainda funciona após a primeira tentativa.

  1. Selecione a célula da coluna que você gostaria de copiar para baixo
  2. Pressione Ctrl+ Shift+ para selecionar as células abaixo
  3. Pressione Ctrl+ Enterpara copiar o conteúdo da primeira célula para as células abaixo

BÔNUS:

O atalho para ir para o conteúdo mais inferior (para verificar novamente a cópia) é Ctrl+ . Para voltar, você pode usar Ctrl+, mas se as linhas superiores estiverem congeladas, você também terá que pressionar Enteralgumas vezes.


1
Este é o hack mais direto. Obrigado!
Sopia Alfred

0

Para ficar claro, quando você usa o indicador de arrasto, ele apenas copiará os valores da célula para baixo na coluna enquanto houver um valor na célula adjacente em uma determinada linha. Assim que a operação de arrastar vir uma célula adjacente em branco, ela parará de copiar a fórmula para baixo.

.por exemplo

1,a,b
2,a
3,
4,a

Se o texto acima for uma planilha, usar o indicador de arrastar de clique duplo na célula 'b' preencherá a linha 2, mas não a linha três ou quatro.


1
Se você estiver tentando aplicar a fórmula a linhas em um conjunto filtrado no Excel usando o "Clique duas vezes no indicador de arrastar", ele irá parar toda vez que o número de série da linha pular, ou seja, o número da linha. 1, 2, 3 se eles aparecerem em ordem serão aplicados com a fórmula, entretanto, se a linha não. 5 aparece após a linha no. 3 (devido à filtragem), em seguida, linha no. 5 não terá a fórmula aplicada. Nesse caso, você deve copiar da célula na linha no. 3 e cole na linha nº. 5 e então use o mesmo clique duplo. Sim, o Excel é uma merda.
dresh

Embora essa possa ser uma dica valiosa para resolver o problema, uma boa resposta também demonstra a solução. Por favor edite a fornecer exemplo de código para mostrar o que você quer dizer. Como alternativa, considere escrever isso como um comentário.
Toby Speight,

0

Você também pode usar Ctrl + Shift + Down + D para adicionar a fórmula a todas as células da coluna.

Basta clicar / destacar a célula com a equação / fórmula que deseja copiar e, em seguida, manter pressionado Ctrl + Shift + Baixo + D e sua fórmula será adicionada a cada célula.


0

Só para não perder minha resposta que funciona:

  1. Selecione a célula para copiar
  2. Selecione a célula final na coluna
  3. Pressione CTRL + D

-2

Você pode preencher a coluna clicando duas vezes no canto inferior direito da célula da qual deseja copiar (o ponto na caixa que, de outra forma, você arrastaria) e isso será aplicado a toda a coluna.

NB: Isso não funciona se você tiver o filtro aplicado, nem se já houver algo nas células abaixo.


Isso está correto, no entanto, você deve certificar-se de que nenhum dado esteja nas células abaixo da célula que contém sua fórmula.
BinaryJoe01

Embora essa possa ser uma dica valiosa para resolver o problema, uma boa resposta também demonstra a solução. Por favor edite a fornecer exemplo de código para mostrar o que você quer dizer. Como alternativa, considere escrever isso como um comentário.
Toby Speight,
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.