Applica la formula all'intera colonna


96

Sto cercando di ricodificare tutto il codice postale dalla colonna A alla colonna B con la formula:

=TEXT(A1,"00000")

Come questo:

inserisci qui la descrizione dell'immagine

Voglio che ogni cella nella colonna B venga trasformata usando la formula sopra. Ma ho oltre 40.000 righe, quindi è impossibile trascinare la formula verso il basso e applicarla all'intera colonna B.

C'è una formula che potrei usare per risolvere questo problema?

Risposte:


89

Penso che sia una funzionalità più recente, ma funziona per me:

Facendo doppio clic sul quadrato in basso a destra della cella evidenziata si copia la formula della cella evidenziata.

Spero che sia d'aiuto.


20
Questa è la risposta corretta alla domanda. Facendo doppio clic sull '"indicatore di trascinamento" (angolo in basso a destra) la formula verrà copiata in tutte le celle. Assicurati di cancellare prima i dati della colonna e di applicare la formula solo a uno. La risposta sopra con "ArrayFormula" sembra essere in grado di applicare molte celle a una formula, che non è ciò che OP voleva.
Thanasis Kapelonis

3
Grazie per la condivisione. Funziona bene per me, ma preferisco usare la funzione ArrayFormula, semplicemente perché a differenza del tuo metodo che fondamentalmente copierebbe la stessa identica formula in ogni cella, ArrayFormula sarà più dinamico e può essere programmato più facilmente.
Shahab Yarmohammadi

3
@ThanasisKapelonis, non è necessario cancellare i dati, basta fare doppio clic sull'indicatore di trascinamento e applica la formula a tutte le righe successive in cui i dati in ogni segnaposto sono disponibili nelle colonne corrispondenti per quella riga. Si fermerà dove mancano i dati. come mostrato da Brett Sutton
dresh

2
Ho troppi dati per fare questa risposta, non riesce e devo ricaricare la pagina.
Daniel Ryan

1
Anche se questo potrebbe essere un prezioso suggerimento per risolvere il problema, una buona risposta dimostra anche la soluzione. Si prega di modificare per fornire codice di esempio per mostrare quello che vuoi dire. In alternativa, considera invece di scrivere questo come commento.
Toby Speight

58

Penso che tu sia fortunato. Prova ad entrare in B1:

=text(A1:A,"00000")

(molto simile!), ma prima di colpire Entercolpo Ctrl+ Shift+ Enter.


32
Quando provo Ctrl + Maiusc + Invio, circonda la mia formula con ArrayFormula(…).
binki

2
@pnuts cosa vuoi dire che dovrebbe? anche questo non funziona per me. continua a ricevere ArrayFormula (
JayPex

4
@pnuts forse questo è cambiato nell'ultimo anno, ma ArrayFormula non estende la formula alla colonna B come immagine dall'OP. Per me, riempie semplicemente il valore della cella selezionata.
Assimilater

11
Grazie per la condivisione. Ha funzionato davvero bene per me. Penso che una cosa che potrebbe mancare alla gente è la parte B1: B che ho lottato con me stesso per alcuni secondi. Devi sostituire la tua singola colonna, diciamo B1 con un array di colonne B1: B nella tua formula, affinché funzioni. Di gran lunga, questo è il metodo migliore e il più dinamico.
Shahab Yarmohammadi

4
Questo ha funzionato anche per me. Grazie per i chiarimenti nei commenti. Un'altra cosa che mi ha fatto inciampare è stata che le celle sottostanti devono essere tutte vuote. Immagino di aver pensato che sarebbero stati semplicemente sovrascritti.
LOAS

52

Sembra che alcune delle altre risposte siano diventate obsolete, ma per me ha funzionato:

  1. Fare clic sulla cella con il testo / formula da copiare
  2. Maiusc + clic sull'ultima cella in cui copiare
  3. Ctrl + Enter

(Nota che questo sostituisce il testo se le celle di destinazione non sono vuote)


7
Funziona con CMD + Invio su Mac.
StapleGun

4
Questa è la migliore risposta del 2019.
Happy Bird

1
Questa risposta funziona per una gamma molto più ampia di formule e dovrebbe essere la risposta accettata
dichiara

1
Funziona solo su una colonna alla volta, ma funziona bene. Se vuoi farlo rapidamente per molte cose, Ctrl+Shift+Downselezionerai fino in fondo alla colonna corrente, Ctrl+Entercome hai detto, quindi Up, Right, [Down](l'ultima non sarà necessaria se sei sulla riga 1) per arrivare a la colonna successiva.
Adam Barnes

Funziona a meraviglia nel 2020. Grazie!
nxmohamad

8

Diciamo che vuoi sostituire qualcosa in un array di stringhe e non vuoi eseguire il copia-incolla sull'intero foglio .

Prendiamo questo come esempio:

  • Matrice di stringhe nella colonna "A": {mela, banana, arancia, ..., avocado}
  • Vuoi sostituire il carattere di "a" con "x" per avere: {xpple, bxnxnx, orxnge, ..., xvocado}

Per applicare questa formula sull'intera colonna (array) in modo pulito ed elegante, puoi fare:

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

Funziona anche per gli array 2D, diciamo:

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

8

Trovato un'altra soluzione:

  • Applica la formula alle prime 3 o 4 celle della colonna
  • Ctrl+ Cla formula in una delle ultime righe (se copi la prima riga non funzionerà)
  • Fare clic sull'intestazione della colonna per selezionare l'intera colonna
  • Premi Ctrl+ Vper incollarlo in tutte le celle sotto

2
Questo sembra funzionare in modo più affidabile del doppio clic per me. Grazie!
Ivan

4

Questo è per coloro che vogliono sovrascrivere rapidamente le celle della colonna (senza tagliare e copiare). Equivale a fare doppio clic sulla casella della cella ma, a differenza del doppio clic, funziona ancora dopo il primo tentativo.

  1. Seleziona la cella della colonna che desideri copiare verso il basso
  2. Premi Ctrl+ Shift+ per selezionare le celle sottostanti
  3. Premi Ctrl+ Enterper copiare il contenuto della prima cella nelle celle sottostanti

BONUS:

La scorciatoia per andare al contenuto più in basso (per ricontrollare la copia) è Ctrl+ . Per tornare indietro puoi usare Ctrl+ ma se le tue prime righe sono bloccate dovrai anche premere Enteralcune volte.


1
Questo è il trucco più diretto. Grazie!
Sopia Alfred

0

Per essere chiari quando si utilizza l'indicatore di trascinamento, copierà solo i valori della cella lungo la colonna mentre c'è un valore nella cella adiacente in una determinata riga. Non appena l'operazione di trascinamento vede una cella adiacente vuota, smetterà di copiare la formula verso il basso.

.per esempio

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

Se quanto sopra è un foglio di calcolo, l'utilizzo dell'indicatore di trascinamento del doppio clic sulla cella "b" riempirà la riga 2 ma non la riga tre o quattro.


1
Se stai cercando di applicare la formula alle righe in un set filtrato in Excel utilizzando il "Doppio clic sull'indicatore di trascinamento", si fermerà ogni volta che il numero di serie della riga salta, cioè la riga n. 1, 2, 3 se appaiono in ordine verranno applicati con la formula, tuttavia se la riga n. 5 compare dopo la riga n. 3 (A causa del filtraggio) quindi la riga n. 5 non applicherà la formula. In tal caso devi copiare dalla cella nella riga n. 3 e incollalo nella riga n. 5 e quindi utilizzare lo stesso doppio clic. Sì, eccellere fa schifo.
dresh

Anche se questo potrebbe essere un prezioso suggerimento per risolvere il problema, una buona risposta dimostra anche la soluzione. Si prega di modificare per fornire codice di esempio per mostrare quello che vuoi dire. In alternativa, considera invece di scrivere questo come commento.
Toby Speight

0

Puoi usare Ctrl + Maiusc + Giù + D per aggiungere la formula anche a ogni cella della colonna.

Fai semplicemente clic / evidenzia la cella con l'equazione / formula che desideri copiare e quindi tieni premuto Ctrl + Maiusc + Giù + D e la tua formula verrà aggiunta a ciascuna cella.


0

Solo così non perdo la mia risposta che funziona:

  1. Seleziona la cella da copiare
  2. Seleziona l'ultima cella nella colonna
  3. Premi CTRL + D.

-2

Puoi riempire la colonna facendo doppio clic sull'angolo in basso a destra della cella da cui vuoi copiare (il punto sulla casella che altrimenti trascineresti) e verrà applicato all'intera colonna.

NB: questo non funziona se hai applicato il filtro, né se c'è già qualcosa nelle celle sottostanti.


Ciò è corretto, tuttavia, devi assicurarti che non ci siano dati nelle celle sotto la cella contenente la tua formula.
BinaryJoe01

Anche se questo potrebbe essere un prezioso suggerimento per risolvere il problema, una buona risposta dimostra anche la soluzione. Si prega di modificare per fornire codice di esempio per mostrare quello che vuoi dire. In alternativa, considera invece di scrivere questo come commento.
Toby Speight
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.