Utilizzo delle funzioni SOSTITUISCI e SOSTITUISCI di Excel - esempi di formule

  • Condividi Questo
Michael Brown

L'esercitazione spiega le funzioni SOSTITUISCI e SOSTITUISCI di Excel con esempi di utilizzo. Scoprite come utilizzare la funzione SOSTITUISCI con stringhe di testo, numeri e date e come annidare più funzioni SOSTITUISCI o SOSTITUISCI in una formula.

La settimana scorsa abbiamo parlato di vari modi di utilizzare le funzioni TROVA e CERCA nei fogli di lavoro di Excel. Oggi daremo un'occhiata più approfondita ad altre due funzioni per sostituire il testo in una cella in base alla sua posizione o per sostituire una stringa di testo con un'altra in base al contenuto. Come avrete intuito, sto parlando delle funzioni SOSTITUISCI e SOSTITUISCI di Excel.

    Funzione REPLACE di Excel

    La funzione SOSTITUISCI di Excel consente di scambiare uno o più caratteri di una stringa di testo con un altro carattere o un insieme di caratteri.

    REPLACE(vecchio_testo, inizio_num, num_caratteri, nuovo_testo)

    Come si vede, la funzione REPLACE di Excel ha 4 argomenti, tutti obbligatori.

    • Vecchio_testo - il testo originale (o un riferimento a una cella con il testo originale) in cui si desidera sostituire alcuni caratteri.
    • Numero_inizio - la posizione del primo carattere all'interno di old_text che si vuole sostituire.
    • Num_caratteri - il numero di caratteri che si desidera sostituire.
    • Nuovo_testo - il testo sostitutivo.

    Ad esempio, per modificare la parola " sole " a " figlio ", è possibile utilizzare la seguente formula:

    =REPLACE("sole", 2, 1, "o")

    E se si inserisce la parola originale in una cella, ad esempio A2, si può fornire il riferimento alla cella corrispondente nell'argomento old_text:

    =REPLACE(A2, 2, 1, "o")

    Nota: se l'argomento start_num o num_chars è negativo o non numerico, una formula di Excel Replace restituisce l'errore #VALUE!

    Utilizzo della funzione SOSTITUISCI di Excel con valori numerici

    La funzione SOSTITUISCI di Excel è stata progettata per lavorare con le stringhe di testo. Naturalmente, è possibile utilizzarla per sostituire i caratteri numerici che fanno parte di una stringa di testo, ad esempio:

    =REPLACE(A2, 7, 4, "2016")

    Si noti che "2016" è racchiuso tra doppi apici, come si fa di solito con i valori di testo.

    In modo analogo, è possibile sostituire una o più cifre all'interno di un numero, ad esempio:

    =SOSTITUIRE(A4, 4, 4, "6")

    Anche in questo caso, il valore di sostituzione deve essere racchiuso tra doppi apici ("6").

    Nota: una formula REPLACE di Excel restituisce sempre un valore stringa di testo Nell'immagine qui sopra, notate l'allineamento a sinistra del valore di testo restituito in B2 e confrontatelo con il numero originale allineato a destra in A2. E poiché si tratta di un valore di testo, non potrete utilizzarlo in altri calcoli a meno che non lo convertiate nuovamente in numero, ad esempio moltiplicando per 1 o utilizzando qualsiasi altro metodo descritto in Come convertire il testo in numero.

    Utilizzo della funzione SOSTITUISCI di Excel con le date

    Come si è appena visto, la funzione SOSTITUISCI funziona bene con i numeri, tranne che per il fatto che restituisce una stringa di testo :) Ricordando che nel sistema interno di Excel le date sono memorizzate come numeri, si può provare a utilizzare alcune formule di sostituzione sulle date. I risultati sarebbero piuttosto imbarazzanti.

    Per esempio, si ha una data in A2, per esempio 1-Ott-14, e si vuole cambiare " Ottobre " a " Nov "Quindi, scrivete la formula REPLACE(A2, 4, 3, "Nov") che indica a Excel di sostituire 3 caratteri nella cella A2 a partire dal quarto carattere... e ottenete il seguente risultato:

    Perché "01-Oct-14" è solo una rappresentazione visiva del numero di serie sottostante (41913) che rappresenta la data. Quindi, la nostra formula Replace cambia le ultime 3 cifre del numero di serie di cui sopra in " Nov " e restituisce la stringa di testo "419Nov".

    Per far sì che la funzione SOSTITUISCI di Excel funzioni correttamente con le date, è possibile convertire prima le date in stringhe di testo utilizzando la funzione TESTO o qualsiasi altra tecnica illustrata in Come convertire una data in testo in Excel. In alternativa, è possibile incorporare la funzione TESTO direttamente nell'argomento vecchio_testo della funzione SOSTITUISCI:

    =REPLACE(TEXT(A2, "gg-mmm-anno"), 4, 3, "Nov")

    Si ricorda che il risultato della formula sopra riportata è un stringa di testo Se si ha bisogno di date anziché di stringhe di testo, utilizzare la funzione DATEVALUE per trasformare in date i valori restituiti dalla funzione SOSTITUISCI di Excel:

    =DATEVALUE(REPLACE(TEXT(A2, "gg-mmm-anno"), 4, 3, "Nov"))

    Funzioni REPLACE annidate per effettuare sostituzioni multiple in una cella

    Molto spesso può essere necessario effettuare più di una sostituzione nella stessa cella. Naturalmente, si può effettuare una sostituzione, emettere un risultato intermedio in una colonna aggiuntiva e quindi utilizzare nuovamente la funzione REPLACE. Tuttavia, un modo migliore e più professionale è quello di usare funzioni REPLACE annidate che consentono di eseguire diverse sostituzioni con un'unica formula. In questo contesto, "annidare" significa inserire una funzione all'interno di un'altra.

    Consideriamo il seguente esempio: supponiamo di avere un elenco di numeri di telefono nella colonna A formattati come "123456789" e di volerli rendere più simili a numeri di telefono aggiungendo dei trattini. In altre parole, il nostro obiettivo è trasformare "123456789" in "123-456-789".

    L'inserimento del primo trattino è semplice: si scrive la solita formula di sostituzione di Excel che sostituisce zero caratteri con un trattino, cioè aggiunge un trattino in quarta posizione in una cella:

    =SOSTITUIRE(A2,4,0,"-")

    Il risultato della formula di sostituzione di cui sopra è il seguente:

    Ok, ora dobbiamo inserire un altro trattino in 8a posizione. Per farlo, si inserisce la formula precedente all'interno di un'altra funzione SOSTITUISCI di Excel. Più precisamente, la si inserisce nella funzione vecchio_testo dell'altra funzione, in modo che la seconda funzione REPLACE gestisca il valore restituito dalla prima REPLACE e non il valore della cella A2:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    Il risultato è che si ottengono i numeri di telefono nella formattazione desiderata:

    In modo analogo, è possibile utilizzare le funzioni REPLACE annidate per far assomigliare le stringhe di testo alle date, aggiungendo una barra in avanti (/) dove opportuno:

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Inoltre, è possibile convertire le stringhe di testo in date reali, avvolgendo la formula REPLACE di cui sopra con la funzione DATEVALUE:

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Naturalmente, il numero di funzioni che si possono annidare in una formula non è limitato (le versioni moderne di Excel 2010, 2013 e 2016 consentono fino a 8192 caratteri e fino a 64 funzioni annidate in una formula).

    Ad esempio, è possibile utilizzare 3 funzioni REPLACE annidate per far apparire un numero in A2 come data e ora:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    Sostituzione di una stringa che compare in una posizione diversa in ogni cella

    Finora in tutti gli esempi abbiamo avuto a che fare con valori di natura simile e abbiamo effettuato le sostituzioni nella stessa posizione in ogni cella. Ma le attività della vita reale sono spesso più complicate di così. Nei vostri fogli di lavoro, i caratteri da sostituire non devono necessariamente apparire nello stesso posto in ogni cella e quindi dovrete trovare la posizione del primo carattere L'esempio seguente illustra ciò che sto dicendo.

    Supponiamo di avere un elenco di indirizzi e-mail nella colonna A. E il nome di un'azienda è cambiato da "ABC" a, diciamo, "BCA". Quindi, bisogna aggiornare di conseguenza gli indirizzi e-mail di tutti i clienti.

    Il problema è che i nomi dei clienti sono di lunghezza diversa e quindi non è possibile specificare esattamente il punto in cui inizia il nome della società. In altre parole, non si sa quale valore fornire nell'argomento start_num della funzione REPLACE di Excel. Per scoprirlo, utilizzare la funzione FIND di Excel per determinare la posizione del primo carattere nella stringa "@abc":

    =TROVA("@abc",A2)

    Quindi, inserire la funzione FIND di cui sopra nell'argomento start_num della formula REPLACE:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    Suggerimento: includiamo "@" nella formula Trova e sostituisci di Excel per evitare sostituzioni accidentali nella parte del nome degli indirizzi e-mail. Naturalmente, le probabilità che si verifichino tali corrispondenze sono minime, ma è comunque consigliabile andare sul sicuro.

    Come si vede nella seguente schermata, la formula non ha problemi a trovare e sostituire il testo vecchio con quello nuovo. Tuttavia, se la stringa di testo da sostituire non viene trovata, la formula restituisce l'errore #VALORE!

    Vogliamo che la formula restituisca l'indirizzo e-mail originale invece dell'errore, quindi racchiudiamo la nostra formula FIND & REPLACE nella funzione IFERROR:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    E questa formula migliorata funziona perfettamente, non è vero?

    Un'altra applicazione pratica della funzione SOSTITUISCI è quella di rendere maiuscola la prima lettera di una cella. Ogni volta che si ha a che fare con un elenco di nomi, prodotti e simili, si può usare la formula di cui sopra per cambiare la prima lettera in MAIUSCOLO.

    Suggerimento: se si desidera effettuare le sostituzioni nei dati originali, un modo più semplice è quello di utilizzare la finestra di dialogo TROVA e SOSTITUISCI di Excel.

    Funzione SUBSTITUTE di Excel

    La funzione SOSTITUISCI di Excel sostituisce una o più istanze di un determinato carattere o stringa di testo con uno o più caratteri specificati.

    La sintassi della funzione SOSTITUISCI di Excel è la seguente:

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    I primi tre argomenti sono obbligatori e l'ultimo è opzionale.

    • Testo - il testo originale in cui si desidera sostituire i caratteri. Può essere fornito come stringa di prova, riferimento di cella o risultato di un'altra formula.
    • Vecchio_testo - il carattere o i caratteri che si desidera sostituire.
    • Nuovo_testo - il nuovo o i nuovi caratteri con cui sostituire il vecchio_testo.
    • Numero_istanza - l'occorrenza di old_text che si vuole sostituire. Se viene omesso, ogni occorrenza del vecchio testo verrà cambiata con il nuovo testo.

    Ad esempio, tutte le formule seguenti sostituiscono "1" con "2" nella cella A2, ma restituiscono risultati diversi a seconda del numero fornito nell'ultimo argomento:

    =SOSTITUIRE(A2, "1", "2", 1) - Sostituisce la prima occorrenza di "1" con "2".

    =SOSTITUIRE(A2, "1", "2", 2) - Sostituisce la seconda occorrenza di "1" con "2".

    =SOSTITUIRE(A2, "1", "2") - Sostituisce tutte le occorrenze di "1" con "2".

    In pratica, la funzione SOSTITUISCI viene utilizzata anche per rimuovere i caratteri indesiderati dalle celle. Per esempi reali, si veda:

    • Come rimuovere caratteri o parole da una stringa
    • Come eliminare i caratteri indesiderati dalle celle

    Nota: la funzione SOSTITUISCI in Excel è sensibile alle maiuscole e alle minuscole Ad esempio, la formula seguente sostituisce tutte le istanze della lettera maiuscola "X" con "Y" nella cella A2, ma non sostituisce nessuna istanza della lettera minuscola "x".

    Sostituire più valori con un'unica formula (SUBSTITUTE annidato)

    Come nel caso della funzione SOSTITUISCI di Excel, è possibile annidare più funzioni SOSTITUISCI all'interno di una singola formula per effettuare più sostituzioni alla volta, cioè per sostituire più caratteri o sottostringhe con un'unica formula.

    Supponiamo di avere una stringa di testo come " PR1, ML1, T1 " nella cella A2, dove "PR" sta per "Progetto", "ML" sta per "Milestone" e "T" significa "Attività". Si desidera sostituire i tre codici con i nomi completi. Per ottenere questo risultato, è possibile scrivere 3 diverse formule SOSTITUISCI:

    =SUBSTITUTE(A2, "PR", "Progetto ")

    =SUBSTITUTE(A2, "ML", "Pietra miliare ")

    =SUBSTITUTE(A2, "T", "Task ")

    E poi annidarli l'uno nell'altro:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "PR", "Progetto "), "ML", "Milestone "), "T", "Compito ")

    Notate che abbiamo aggiunto uno spazio alla fine di ogni argomento di new_text per migliorare la leggibilità.

    Per conoscere altri modi per sostituire più valori alla volta, consultate Come fare un'operazione di ricerca e sostituzione di massa in Excel.

    Sostituire in Excel vs. Sostituire in Excel

    Le funzioni di Excel REPLACE e SUBSTITUTE sono molto simili tra loro, in quanto entrambe sono progettate per scambiare stringhe di testo. Le differenze tra le due funzioni sono le seguenti:

    • SOSTITUISCI sostituisce uno o più istanze di un dato carattere o di una stringa di testo. Pertanto, se si conosce il testo da sostituire, si può utilizzare la funzione SOSTITUISCI di Excel.
    • REPLACE modifica i caratteri di uno specifico posizione Quindi, se si conosce la posizione dei caratteri da sostituire, si può utilizzare la funzione SOSTITUISCI di Excel.
    • La funzione SUBSTITUTE di Excel permette di aggiungere un parametro opzionale (instance_num) che specifica quale evento di vecchio_testo deve essere cambiato in nuovo_testo.

    Ecco come si usano le funzioni SOSTITUISCI e SOSTITUISCI in Excel. Spero che questi esempi vi siano utili per risolvere i vostri compiti. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!

    Scarica il libro di esercizi

    Esempi di formule REPLACE e SUBSTITUTE (file .xlsx)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.