Sommario
Quando si lavora con dati di testo non strutturati nei fogli di lavoro, spesso è necessario analizzarli per recuperare le informazioni rilevanti. Questo articolo vi insegnerà alcuni semplici modi per rimuovere un numero qualsiasi di caratteri dal lato sinistro o destro di una stringa di testo.
Come rimuovere i caratteri da sinistra in Excel
La rimozione dei primi caratteri da una stringa è una delle operazioni più comuni in Excel e può essere eseguita con 3 formule diverse.
Rimuovere il primo carattere in Excel
Per eliminare il primo carattere da una stringa, si può utilizzare la funzione REPLACE o una combinazione delle funzioni RIGHT e LEN.
SOSTITUIRE( stringa , 1, 1, "")In questo caso, prendiamo semplicemente 1 carattere dalla prima posizione e lo sostituiamo con una stringa vuota ("").
GIUSTO( stringa , LEN( stringa ) - 1)In questa formula, si utilizza la funzione LEN per calcolare la lunghezza totale della stringa e si sottrae 1 carattere da essa. La differenza viene servita a DESTRA, quindi si estraggono tanti caratteri dalla fine della stringa.
Ad esempio, per rimuovere il primo carattere dalla cella A2, le formule sono le seguenti:
=SOSTITUIRE(A2, 1, 1, "")
=DESTRA(A2, LEN(A2) - 1)
Rimuovere i caratteri da sinistra
Per rimuovere i caratteri iniziali dal lato sinistro di una stringa, si utilizzano anche le funzioni REPLACE o RIGHT e LEN, specificando però quanti caratteri si desidera eliminare ogni volta:
SOSTITUIRE( stringa , 1, num_caratteri , "")Oppure
GIUSTO( stringa , LEN( stringa ) - num_caratteri )Ad esempio, per rimuovere primi 2 caratteri dalla stringa in A2, le formule sono:
=SOSTITUIRE(A2, 1, 2, "")
=DESTRA(A2, LEN(A2) - 2)
Per rimuovere prima 3 caratteri , le formule assumono questa forma:
=SOSTITUIRE(A2, 1, 3, "")
=DESTRA(A2, LEN(A2) - 3)
L'immagine seguente mostra la formula REPLACE in azione. Con RIGHT LEN, i risultati sarebbero esattamente gli stessi.
Funzione personalizzata per eliminare i primi n caratteri
Se non vi dispiace utilizzare VBA nei vostri fogli di lavoro, potete creare una funzione definita dall'utente per eliminare i caratteri dall'inizio di una stringa, denominata RimuoviPrimiCaratteri Il codice della funzione è molto semplice:
Funzione RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) Fine FunzioneUna volta inserito il codice nella cartella di lavoro (le istruzioni dettagliate sono qui), è possibile rimuovere i primi n caratteri da una determinata cella utilizzando questa formula compatta e intuitiva:
RemoveFirstChars(stringa, num_chars)Ad esempio, per eliminare il file prima da una stringa in A2, la formula in B2 è:
=RimuoviPrimiCaratteri(A2, 1)
Per spogliarsi primi due da A3, la formula in B3 è:
=RimuoviPrimiCaratteri(A4, 2)
Per eliminare primi tre caratteri di A4, la formula in B4 è:
=RimuoviPrimiCaratteri(A4, 3)
Ulteriori informazioni su Utilizzo di funzioni personalizzate in Excel.
Come rimuovere i caratteri dalla destra
Per rimuovere i caratteri dal lato destro di una stringa, è possibile utilizzare le funzioni native o crearne una propria.
Rimuovere l'ultimo carattere in Excel
Per eliminare l'ultimo carattere di una cella, la formula generica è:
SINISTRA( stringa , LEN( stringa ) - 1)In questa formula, si sottrae 1 dalla lunghezza totale della stringa e si passa la differenza alla funzione SINISTRA per estrarre tanti caratteri dall'inizio della stringa.
Ad esempio, per togliere l'ultimo carattere dalla cella A2, la formula in B2 è:
=SINISTRA(A2, LEN(A2) - 1)
Rimuovere i caratteri da destra
Per eliminare un determinato numero di caratteri dalla fine di una cella, la formula generica è:
SINISTRA( stringa , LEN( stringa ) - num_caratteri )La logica è la stessa della formula precedente e di seguito sono riportati un paio di esempi.
Per rimuovere il ultimi 3 caratteri , utilizzare 3 per num_caratteri :
=SINISTRA(A2, LEN(A2) - 3)
Per eliminare il ultimi 5 caratteri , fornitura 5 per num_caratteri :
=SINISTRA(A2, LEN(A2) - 5)
Funzione personalizzata per rimuovere gli ultimi n caratteri in Excel
Se desiderate avere una funzione personalizzata per rimuovere un numero qualsiasi di caratteri da destra, aggiungete questo codice VBA alla vostra cartella di lavoro:
Funzione RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) Fine FunzioneLa funzione si chiama RimuoviUltimoCarattere e la sua sintassi non ha bisogno di alcuna spiegazione:
RemoveLastChars(stringa, num_chars)Per fare una prova sul campo, sbarazziamoci dell'opzione ultimo carattere in A2:
=RimuoviIlCarattereUltimo(A2, 1)
Inoltre, rimuoviamo l'elemento ultimi 2 caratteri dal lato destro della stringa in A3:
=RimuoviIlCarattereUltimo(A3, 2)
Per eliminare il ultimi 3 caratteri dalla cella A4, la formula è:
=RimuoviIlCarattereUltimo(A4, 3)
Come si può vedere nella schermata sottostante, la nostra funzione personalizzata funziona in modo eccellente!
Come rimuovere i caratteri da destra e da sinistra contemporaneamente
Quando è necessario cancellare i caratteri su entrambi i lati di una stringa, è possibile eseguire entrambe le formule di cui sopra in sequenza oppure ottimizzare il lavoro con l'aiuto della funzione MID.
MID( stringa , sinistra _ Caratteri + 1, LEN( stringa ) - ( sinistra _ Caratteri + diritto _ Caratteri )Dove:
- caratteri_sinistra - il numero di caratteri da eliminare da sinistra.
- caratteri_destra - il numero di caratteri da eliminare da destra.
Supponiamo di voler estrarre il nome utente da una stringa del tipo mailto:[email protected] Per questo, una parte del testo deve essere rimossa dall'inizio ( mailto: - 7 caratteri) e dalla fine ( @gmail.com - 11 caratteri).
Servite i numeri di cui sopra alla formula:
=METÀ(A2, 7+1, LEN(A2) - (7+10))
...e il risultato non vi farà attendere:
Per capire cosa sta succedendo, ricordiamo la sintassi della funzione MID, che viene utilizzata per estrarre una sottostringa di una certa dimensione dal centro della stringa originale:
MID(testo, start_num, num_chars)Il testo non solleva alcun dubbio: è la stringa di partenza (A2 nel nostro caso).
Per ottenere la posizione del primo carattere da estrarre ( numero_inizio ), si aggiunge 1 al numero di caratteri da togliere da sinistra (7+1).
Per determinare quanti caratteri restituire ( num_caratteri ), si calcola il totale dei caratteri rimossi (7 + 11) e si sottrae la somma dalla lunghezza dell'intera stringa: LEN(A2) - (7+10)).
Ottenere il risultato come numero
Qualunque sia la formula utilizzata, l'output è sempre un testo, anche se il valore restituito contiene solo numeri. Per restituire il valore risultato come numero , avvolgere la formula principale nella funzione VALORE o eseguire qualche operazione matematica che non influisca sul risultato, ad esempio moltiplicare per 1 o aggiungere 0. Questa tecnica è particolarmente utile quando si desidera calcolare ulteriormente i risultati.
Supponiamo di aver rimosso il primo carattere dalle celle A2:A6 e di voler sommare i valori risultanti. Sorprendentemente, una banale formula SOMMA restituisce zero. Perché? Ovviamente perché si stanno sommando stringhe, non numeri. Eseguite una delle operazioni seguenti e il problema è risolto!
=VALORE(REPLACE(A2, 1, 1, ""))
=DESTRA(A2, LEN(A2) - 1) * 1
=RimuoviPrimiCaratteri(A2, 1) + 0
Rimuovere il primo o l'ultimo carattere con Flash Fill
In Excel 2013 e versioni successive, c'è un altro modo semplice per eliminare il primo e l'ultimo carattere in Excel: la funzione Riempimento flash.
- In una cella adiacente alla prima cella con i dati originali, digitare il risultato desiderato omettendo il primo o l'ultimo carattere della stringa originale e premere Invio.
- Se Excel percepisce lo schema dei dati immessi, seguirà lo stesso schema nelle altre celle e visualizzerà un'anteprima dei dati senza il primo/ultimo carattere.
- Basta premere il tasto Invio per accettare l'anteprima.
Rimuovere i caratteri per posizione con Ultimate Suite
Tradizionalmente, gli utenti della nostra Ultimate Suite possono gestire il compito con pochi clic senza dover ricordare una manciata di formule diverse.
Per eliminare i primi o gli ultimi n caratteri da una stringa, è necessario procedere in questo modo:
- Sul Dati Ablebits nella scheda Testo gruppo, fare clic su Rimuovere > Rimuovere per posizione .
Ad esempio, per rimuovere il primo carattere, si configura la seguente opzione:
Ecco come rimuovere una sottostringa da sinistra o da destra in Excel. Vi ringrazio per la lettura e vi aspetto sul nostro blog la prossima settimana!
Download disponibili
Rimuovere i primi o gli ultimi caratteri - esempi (file .xlsm)
Ultimate Suite - versione di prova (file .exe)