Sommario
Imparate le formule e i metodi privi di formule per tagliare gli spazi bianchi, rimuovere i simboli speciali (anche i primi/ultimi N caratteri) e le stesse stringhe di testo prima/dopo determinati caratteri da più celle contemporaneamente.
Rimuovere la stessa parte di testo da più celle contemporaneamente può essere importante e complicato quanto aggiungerla. Anche se conoscete già alcuni metodi, ne scoprirete sicuramente di nuovi nel post di oggi. Condivido molte funzioni e le loro formule pronte per l'uso e, come sempre, lascio la più semplice - senza formula - per ultima ;)
Formule per Google Sheets per rimuovere il testo dalle celle
Inizierò con le funzioni standard di Google Sheets che rimuovono le stringhe di testo e i caratteri dalle celle. Non esiste una funzione universale per questo, quindi fornirò diverse formule e le loro combinazioni per vari casi.
Fogli Google: rimuovere gli spazi bianchi
Gli spazi bianchi possono facilmente scivolare nelle celle dopo l'importazione o se più utenti modificano il foglio allo stesso tempo. In effetti, gli spazi extra sono così comuni che Google Sheets ha uno speciale strumento di ritaglio per rimuovere tutti gli spazi bianchi.
È sufficiente selezionare tutte le celle di Google Fogli in cui si desidera rimuovere gli spazi bianchi e scegliere Dati> Eliminare gli spazi bianchi nel menu del foglio elettronico:
Facendo clic sull'opzione, tutti gli spazi iniziali e finali della selezione verranno eliminati completamente, mentre tutti gli spazi aggiuntivi tra i dati verranno ridotti a uno:
Rimuovere altri caratteri speciali dalle stringhe di testo in Google Sheets
Ahimè, Google Sheets non offre uno strumento per "tagliare" altri caratteri oltre agli spazi. In questo caso bisogna fare i conti con le formule.
Suggerimento. Oppure utilizzate il nostro strumento: Power Tools libera l'intervallo da qualsiasi carattere specificato con un clic, compresi gli spazi bianchi.
Qui ho inserito gli hashtag prima dei numeri di appartamento e dei numeri di telefono con trattini e parentesi in mezzo:
Utilizzerò le formule per rimuovere i caratteri speciali.
La funzione SOSTITUISCI mi aiuterà in questo senso. Normalmente viene utilizzata per sostituire un carattere con un altro, ma è possibile sfruttare questa funzione a proprio vantaggio e sostituire i caratteri indesiderati con... beh, niente :) In altre parole, rimuoverli.
Vediamo quali sono gli argomenti richiesti dalla funzione:
- testo_da_ricercare è il testo da elaborare o una cella che contiene quel testo. Richiesto.
- ricerca_per è il carattere che si vuole trovare ed eliminare. Richiesto.
- sostituire_con - un carattere da inserire al posto del simbolo indesiderato. Richiesto.
- numero_evento - se ci sono più istanze del carattere che si sta cercando, qui si può specificare quale sostituire. È del tutto facoltativo e se si omette questo argomento, tutte le istanze saranno sostituite con qualcosa di nuovo ( sostituire_per ).
Quindi giochiamo: devo trovare un hashtag ( # ) in A1 e sostituirlo con "niente", che nei fogli di calcolo è contrassegnato da doppi apici ( "" ). Tenendo presente tutto ciò, posso costruire la seguente formula:
=SOSTITUIRE(A1, "#",")
Suggerimento: anche l'hashtag è tra doppie virgolette, poiché è questo il modo in cui si dovrebbero citare le stringhe di testo nelle formule di Google Sheets.
Quindi copiate questa formula lungo la colonna, se Google Fogli non offre la possibilità di farlo automaticamente, e otterrete gli indirizzi senza gli hashtag:
Se si annidano più funzioni SUBSTITUTE in una formula di Google Sheets, si rimuovono tutti questi caratteri da ogni cella:
=SOSTITUTO(SOSTITUTO(SOSTITUTO(SOSTITUTO(A1, "#",""),"(",""),""),"-","")
Questa formula rimuove i caratteri uno alla volta e ogni SOSTITUTO, partendo dalla metà, diventa l'intervallo da considerare per il SOSTITUTO successivo:
Suggerimento. Inoltre, è possibile avvolgere il tutto in ArrayFormula e coprire l'intera colonna in una sola volta. In questo caso, cambiare il riferimento di cella ( A1 ) ai dati nella colonna ( A1:A7 ):
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""),"(",""),")",""),"-","")))
Rimuovere testo specifico dalle celle in Google Fogli
Sebbene sia possibile utilizzare la già citata funzione SOSTITUISCI di Google Sheets per rimuovere il testo dalle celle, vorrei mostrare anche un'altra funzione: REGEXREPLACE.
Il suo nome è l'acronimo di 'regular expression replace'. Utilizzerò le espressioni regolari per cercare le stringhe da rimuovere e sostituirle con ' nulla" ( "" ).
Suggerimento: se non siete interessati a usare le espressioni regolari, alla fine di questo post descrivo un metodo molto più semplice.
Suggerimento: se state cercando modi per trovare e rimuovere i duplicati in Google Sheets, visitate questo post del blog. REGEXREPLACE(text, regular_expression, replacement)
Come si può notare, gli argomenti della funzione sono tre:
- testo - è il punto in cui si cerca la stringa di testo da rimuovere, che può essere il testo stesso tra doppi apici o un riferimento a una cella o a un intervallo con del testo.
- espressione_regolare - il vostro schema di ricerca che consiste in varie combinazioni di caratteri. Cercherete tutte le stringhe che corrispondono a questo schema. Questo argomento è il punto in cui avviene il divertimento, se così si può dire.
- sostituzione - una nuova stringa di testo desiderata.
Supponiamo che le mie celle con i dati contengano anche il nome del paese ( STATI UNITI ) in punti diversi delle celle:
In che modo REGEXREPLACE mi aiuterà a rimuoverlo?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
Ecco come funziona esattamente la formula:
- scansiona il contenuto della cella A1
- per le corrispondenze con questa maschera: "(.*)US(.*)"
Questa maschera indica alla funzione di cercare l'elemento STATI UNITI indipendentemente dal numero di altri caratteri che possono precedere (.*) o seguire (.*) il nome del Paese.
E l'intera maschera viene messa tra virgolette doppie come richiesto dalla funzione :)
- l'ultimo argomento - "$1 $2" - è quello che voglio ottenere invece. $1 e $2 ciascuno di essi rappresenta uno di questi due gruppi di personaggi. (.*) - Dovreste menzionare questi gruppi nel terzo argomento in modo che la formula possa restituire tutto ciò che si trova prima e dopo l'argomento precedente. STATI UNITI
Per quanto riguarda il STATI UNITI stesso, semplicemente non lo menziono nel terzo argomento, cioè voglio restituire tutto da A1 senza il STATI UNITI .
Suggerimento: esiste una pagina speciale a cui si può fare riferimento per creare varie espressioni regolari e cercare il testo in diverse posizioni delle celle.
Suggerimento: per quanto riguarda le virgole rimanenti, la funzione SUBSTITUTE descritta sopra vi aiuterà a eliminarle ;) Potete anche racchiudere REGEXREPLACE con SUBSTITUTE e risolvere tutto con una sola formula:
=SOSTITUIRE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",","")
Rimuovere il testo prima/dopo determinati caratteri in tutte le celle selezionate
Esempio 1. Funzione REGEXREPLACE per Google Sheets
Per eliminare tutto ciò che precede e segue determinati caratteri, è utile anche REGEXREPLACE. Ricordate che la funzione richiede 3 argomenti:
REGEXREPLACE(testo, espressione_regolare, sostituzione)E, come ho detto sopra quando ho introdotto la funzione, è il secondo che si deve usare correttamente, in modo che la funzione sappia cosa trovare e rimuovere.
Come posso rimuovere gli indirizzi e mantenere solo i numeri di telefono nelle celle?
Ecco la formula che utilizzerò:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Ecco l'espressione regolare che utilizzo in questo caso: ".*\n.*(\+.*)"
Nella prima parte - .*\n.* - Uso backslash+n per dire che la mia cella ha più di una riga. Quindi voglio che la funzione rimuova tutto quello che c'è prima e dopo l'interruzione di riga (compresa).
La seconda parte tra parentesi (\+.*) dice che voglio mantenere intatto il segno più e tutto ciò che lo segue. Metto questa parte tra parentesi per raggrupparla e tenerla a mente in seguito.
Suggerimento: la barra rovesciata viene utilizzata prima del più per trasformarlo nel carattere che si sta cercando. Senza di essa, il più sarebbe solo una parte dell'espressione che sta per altri caratteri (come fa, ad esempio, l'asterisco).
- Per quanto riguarda l'ultimo argomento - $1 - fa sì che la funzione restituisca solo il gruppo del secondo argomento: il segno più e tutto ciò che segue (\+.*) .
In modo analogo, è possibile eliminare tutti i numeri di telefono e mantenere gli indirizzi:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Solo che questa volta si dice alla funzione di raggruppare (e restituire) tutto ciò che precede l'interruzione di riga e di cancellare il resto:
Esempio 2. DESTRA+LEN+TROVA
Esistono altre funzioni di Google Sheets che consentono di rimuovere il testo prima di un determinato carattere: RIGHT, LEN e FIND.
Nota: queste funzioni sono utili solo se i record da conservare sono della stessa lunghezza, come i numeri di telefono nel mio caso. In caso contrario, è sufficiente utilizzare REGEXREPLACE o, meglio ancora, lo strumento più semplice descritto alla fine.
L'uso di questa terna in un ordine particolare mi aiuterà a ottenere lo stesso risultato e a rimuovere l'intero testo prima di un carattere - un segno più:
=DESTRA(A1,(LEN(A1)-(FIND("+",A1)-1)))
Vi spiego come funziona questa formula:
- TROVA("+", A1)-1 individua il numero di posizione del segno più in A1 ( 24 ) e sottrae 1 in modo che il totale non includa il plus stesso: 23 .
- LEN(A1)-(FIND("+",A1)-1) controlla il numero totale di caratteri in A1 ( 40 ) e ne sottrae 23 (contati da FIND): 17 .
- E poi RIGHT restituisce 17 caratteri dalla fine (destra) di A1.
Sfortunatamente, questo metodo non è molto utile per rimuovere il testo dopo l'interruzione di riga nel mio caso (cancellare i numeri di telefono e mantenere gli indirizzi), perché gli indirizzi sono di lunghezza diversa.
Non c'è problema, lo strumento alla fine fa questo lavoro meglio ;)
Rimuovere i primi/ultimi N caratteri dalle stringhe in Google Sheets
Quando è necessario rimuovere un certo numero di caratteri diversi dall'inizio o dalla fine di una cella, sono utili anche REGEXREPLACE e RIGHT/LEFT+LEN.
Nota: dal momento che ho già introdotto queste funzioni in precedenza, manterrò questo punto breve e fornirò alcune formule pronte per l'uso. Oppure, sentitevi liberi di passare alla soluzione più semplice descritta alla fine.
Quindi, come posso cancellare i codici da questi numeri di telefono? O, in altre parole, rimuovere i primi 9 caratteri dalle celle:
- Utilizzate REGEXREPLACE. Create un'espressione regolare che trovi ed elimini tutto ciò che si trova fino al 9° carattere (incluso il 9° carattere):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Suggerimento: per rimuovere gli ultimi N caratteri, basta scambiare i gruppi nell'espressione regolare:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- DESTRA/SINISTRA+LEN contano anche il numero di caratteri da eliminare e restituiscono la parte rimanente rispettivamente dalla fine o dall'inizio di una cella:
=DESTRA(A1,LEN(A1)-9)
Suggerimento: per rimuovere gli ultimi 9 caratteri dalle celle, sostituire DESTRA con SINISTRA:
=SINISTRA(A1,LEN(A1)-9)
- Ultima, ma non meno importante, è la funzione REPLACE, alla quale si dice di prendere i 9 caratteri a partire da sinistra e di sostituirli con nulla ( "" ):
=SOSTITUIRE(A1,1,9,")
Nota: poiché SOSTITUISCI richiede una posizione iniziale per elaborare il testo, non è possibile eliminare N caratteri dalla fine di una cella.
Rimuovere un testo specifico in Google Sheets senza l'uso di formule - Componente aggiuntivo di Power Tools
Le funzioni e tutto il resto vanno bene quando si ha tempo da perdere, ma sapete che c'è uno strumento speciale che abbraccia tutti i modi sopra citati e tutto quello che dovete fare è selezionare il pulsante di opzione richiesto? :) Niente formule, niente colonne extra - non potreste desiderare un compagno migliore ;D
Non dovete fidarvi della mia parola, installate Power Tools e verificate voi stessi:
- Il primo gruppo consente di rimuovere più sottostringhe o singoli caratteri da qualsiasi posizione in tutte le celle selezionate alla volta:
Un altro strumento di Power Tools consente di rimuovere le unità di tempo e di data dai timestamp: si chiama Split Date & Time:
Cosa c'entra lo strumento di divisione con la rimozione delle unità di tempo e di data? Per rimuovere il tempo dai timestamp, selezionare Data poiché si tratta di una parte che si vuole conservare e anche spuntare Sostituire i dati di origine come nella schermata precedente.
Lo strumento estrae l'unità di misura della data e la sostituisce all'intero timestamp. In altre parole, questo componente aggiuntivo per Google Sheets rimuove l'unità di misura del tempo dal timestamp:
È possibile avere tutti questi e oltre 30 altri risparmi di tempo per i fogli di calcolo installando il componente aggiuntivo dal Google Store. I primi 30 giorni sono completamente gratuiti e perfettamente funzionanti, in modo da avere il tempo di decidere se vale la pena investire.
Se avete domande relative a qualsiasi parte di questo blog post, ci vediamo nella sezione commenti qui sotto!