Indice
- Metodo 1 - Sostituisci testo manualmente con Trova e Sostituisci di Excel
- Metodo 2 - Sostituisci testo per posizione utilizzando la funzione REPLACE di Excel
- Metodo 3 - Sostituisci testo per contenuto utilizzando la funzione SUBSTITUTE di Excel
- Metodo 4 - Automatizza le sostituzioni di testo in Excel con VBA
- Metodo 5 - Sostituisci testo in batch su più file Excel con Python

Quando si lavora con grandi cartelle di lavoro Excel, dati incoerenti o obsoleti possono rapidamente ostacolare la reportistica e il processo decisionale. Scansionare manualmente migliaia di celle per correggere errori di battitura non è solo dispendioso in termini di tempo, ma anche soggetto a costosi errori umani. Padroneggiare come sostituire il testo in Excel in modo efficiente è un'abilità fondamentale per ogni professionista dei dati.
In questa guida completa, esploriamo 5 metodi pratici per sostituire il testo in Excel, dallo strumento integrato Trova e Sostituisci e dalle formule del foglio di lavoro all'automazione avanzata con VBA e Python. Sia che tu debba aggiornare una singola cella o elaborare in batch centinaia di cartelle di lavoro, le nostre istruzioni passo passo ti aiuteranno a ottimizzare il tuo flusso di lavoro e a garantire l'integrità dei dati.
Panoramica dei metodi
- Metodo 1 - Sostituisci testo manualmente con Trova e Sostituisci di Excel
- Metodo 2 - Sostituisci testo per posizione utilizzando la funzione REPLACE di Excel
- Metodo 3 - Sostituisci testo per contenuto utilizzando la funzione SUBSTITUTE di Excel
- Metodo 4 - Automatizza le sostituzioni di testo in Excel con VBA
- Metodo 5 - Sostituisci testo in batch su più file Excel con Python
Comprendere la sostituzione del testo in Excel
La sostituzione del testo in Excel non è solo un cambiamento estetico, può:
- Correggere errori - correggere errori di battitura o codici obsoleti.
- Standardizzare i formati - unificare codici prodotto, e-mail o date.
- Migliorare l'analisi dei dati - garantire la coerenza prima di calcoli, filtri o tabelle pivot.
- Risparmiare tempo nelle attività ripetitive - specialmente quando si lavora con grandi set di dati o più file.
Di seguito, esploreremo 5 modi pratici per sostituire i dati in Excel.
Metodo 1 - Sostituisci testo manualmente con Trova e Sostituisci di Excel
Lo strumento integrato di Excel Trova e Sostituisci è il metodo manuale più efficiente per sostituire il testo in Excel all'interno di un singolo foglio di lavoro o di un'intera cartella di lavoro. È perfetto per aggiornamenti rapidi e occasionali dove formule o automazione non sono necessarie.
Come accedere allo strumento Trova e Sostituisci:
- Scorciatoia: Premi Ctrl + H (Windows) o Comando + Maiusc + H (Mac).
- Percorso del menu: Vai alla scheda Home > gruppo Modifica > Trova e seleziona > Sostituisci.
Istruzioni passo passo:
-
Apri la cartella di lavoro: Seleziona il foglio di lavoro in cui devi eseguire la sostituzione del testo.
-
Accedi allo strumento: Utilizza la scorciatoia o il percorso del menu per attivare la finestra Trova e Sostituisci.

-
Inserisci i dati: Nella casella Trova, digita il testo o i numeri specifici che desideri modificare. Nella casella Sostituisci con, digita il tuo nuovo contenuto.
-
Esegui la sostituzione: Fai clic su Sostituisci per aggiornare la selezione corrente e passare all'istanza successiva, oppure su Sostituisci tutto per aggiornare istantaneamente ogni istanza nel foglio.
Suggerimenti professionali:
Fai clic sul pulsante Opzioni >> per sbloccare i controlli avanzati:

- Ambito di ricerca: Cambia l'impostazione All'interno da Foglio a Cartella di lavoro per sostituire il testo in tutte le schede contemporaneamente.
- Corrispondenza di modelli: Utilizza caratteri jolly come * (caratteri multipli) o ? (singolo carattere) per una ricerca flessibile (ad esempio, S*t corrisponde sia a "Smart" che a "Street").
- Controllo di precisione: Abilita Maiuscole/minuscole per sostituire solo le corrispondenze esatte o Contenuto cella intero per evitare di sostituire parti di parole accidentalmente.
✅ Pro: Veloce, intuitivo e gestisce anche le modifiche di formattazione.
⚠️ Limitazioni: Manuale e ripetitivo; non adatto all'elaborazione in batch di centinaia di file separati.
Potrebbe interessarti anche: 5 modi per mandare a capo il testo in Excel.
Metodo 2 - Sostituisci testo per posizione utilizzando la funzione REPLACE di Excel
Quando è necessario sostituire il testo in Excel in base alla sua posizione del carattere anziché al contenuto stesso, la funzione REPLACE è lo strumento migliore. Questa formula è ideale per pulire dati strutturati come numeri di telefono, codici seriali o ID prodotto standardizzati.

Sintassi della funzione Replace
=REPLACE(vecchio_testo, num_inizio, num_caratteri, nuovo_testo)
- vecchio_testo: Il testo originale (o il riferimento alla cella contenente il testo).
- num_inizio: La posizione (indice) del primo carattere che si desidera sostituire.
- num_caratteri: Il numero totale di caratteri da rimuovere.
- nuovo_testo: Il nuovo testo che si desidera inserire.
Esempio pratico: Mascheramento di dati sensibili
Se hai un codice seriale "123-ABC" nella cella A1 e vuoi cambiare i primi tre numeri in "XXX":
- Formula:
=REPLACE(A1, 1, 3, "XXX") - Risultato: "XXX-ABC"
Implementazione passo passo:
-
Seleziona una cella: Fai clic sulla cella in cui desideri che appaia il testo aggiornato (ad esempio, B2).
-
Inserisci la formula: Digita =REPLACE( e seleziona la cella di origine (ad esempio, A2).
-
Definisci l'intervallo: Inserisci num_inizio (dove inizia la sostituzione) e num_caratteri (quanti caratteri scambiare).
-
Aggiungi nuovo testo: Digita il testo di sostituzione tra virgolette (ad esempio, "XXX").
-
Applica all'elenco: Premi Invio e utilizza il quadrato di riempimento automatico (il piccolo quadrato verde) per trascinare la formula verso il basso nelle altre righe.

Suggerimenti professionali:
- Combina con altre funzioni: Utilizza LEN() o FIND() come num_inizio per gestire dinamicamente stringhe di lunghezze variabili.
- Gestisci risultati numerici: La funzione REPLACE restituisce sempre testo. Per riconvertirlo in un numero per i calcoli, aggiungi *1 alla fine della formula (ad esempio,
=REPLACE(...) * 1). - Annidamento: Puoi annidare più funzioni REPLACE in un'unica formula se devi aggiornare due o più posizioni diverse contemporaneamente.
✅ Pro: Perfetto per dati strutturati; garantisce un controllo preciso sulla sostituzione dei caratteri.
⚠️ Limitazioni: Meno efficace per dati in cui il testo di destinazione appare in posizioni diverse in ogni cella.
Metodo 3 - Sostituisci testo per contenuto utilizzando la funzione SUBSTITUTE di Excel
La funzione SUBSTITUTE è lo strumento di riferimento quando è necessario sostituire il testo in Excel in base a un contenuto specifico anziché alla sua posizione. Questo è ideale per correggere errori di battitura ripetuti, aggiornare riferimenti annuali o espandere abbreviazioni in un ampio set di dati.

Sintassi della funzione SUBSTITUTE
=SOSTITUISCI(testo, vecchio_testo, nuovo_testo, [num_istanza])
- testo: Il testo originale (o il riferimento alla cella contenente il testo).
- vecchio_testo: Il carattere o la parola specifica che si desidera modificare.
- nuovo_testo: Il testo che si desidera inserire al posto.
- [num_istanza]: (Opzionale) Specifica quale occorrenza sostituire. Se omesso, tutte le occorrenze vengono aggiornate.
Esempio pratico: Aggiornamento in blocco degli anni
Se devi aggiornare "Report 2023" in "Report 2024" nella cella A1:
- Formula:
=SOSTITUISCI(A1, "2023", "2024") - Risultato: "Report 2024"
Avanzato: SUBSTITUTE annidato per aggiornamenti multipli
Puoi annidare più funzioni SUBSTITUTE per sostituire più termini diversi in una singola cella contemporaneamente. Questo è perfetto per convertire codici abbreviati in descrizioni complete:
- Formula:
=SOSTITUISCI(SOSTITUISCI(A2, "PR", "Progetto"), "ML", "Milestone") - Risultato: Converte "PR-01, ML-05" in "Progetto-01, Milestone-05".
Implementazione passo passo:
-
Identifica il target: Fai clic sulla cella in cui desideri che appaiano i dati puliti.
-
Applica la formula: Digita =SOSTITUISCI( e seleziona la cella di origine.
-
Definisci le stringhe di testo: Inserisci vecchio_testo e nuovo_testo tra virgolette doppie (ad esempio, "vecchio", "nuovo").
-
Istanza opzionale: Se desideri sostituire solo la seconda occorrenza di una parola, aggiungi , 2 alla fine prima di chiudere la parentesi.
-
Trascina per applicare: Premi Invio e utilizza il quadrato di riempimento automatico per applicare la formula al resto della tua colonna.

Suggerimenti professionali:
- Sensibilità alle maiuscole/minuscole: SUBSTITUTE è sensibile alle maiuscole/minuscole. Per eseguire una ricerca non sensibile alle maiuscole/minuscole, racchiudi il riferimento alla cella nella funzione UPPER o LOWER.
- Rimozione del testo: Per eliminare completamente una parola specifica, usa una stringa vuota "" come nuovo_testo.
- Non distruttivo: A differenza di Trova e Sostituisci, l'uso delle formule mantiene intatti i dati originali nella colonna di origine, fornendo una migliore traccia di controllo.
✅ Pro: Eccellente per la sostituzione basata sul contenuto; altamente flessibile con l'annidamento.
⚠️ Limitazioni: Non gestisce modifiche basate sulla posizione; richiede una colonna di supporto per memorizzare i risultati.
Metodo 4 - Automatizza le sostituzioni di testo in Excel con VBA
Quando è necessario sostituire il testo in Excel in più fogli o gestire attività di pulizia ripetitive e su larga scala, una macro VBA è la soluzione più potente. Questo metodo consente di automatizzare il processo con un singolo clic, risparmiandoti errori manuali.
Perché usare VBA per la sostituzione?
- Efficienza: Aggiorna centinaia di celle istantaneamente.
- Coerenza: Assicura che la stessa logica di sostituzione venga applicata ogni volta.
- Supporto multi-foglio: A differenza delle formule, VBA può scansionare ogni scheda della tua cartella di lavoro.
Esempio di macro VBA per sostituire dati nel foglio Excel attivo
Copia e incolla il seguente codice nell'editor VBA per sostituire termini specifici nel tuo foglio di lavoro corrente:
Sub BatchReplaceText()
Dim ws As Worksheet
Set ws = ActiveSheet
' Definisci cosa trovare e cosa sostituire
ws.Cells.Replace What:="VecchioTesto", Replacement:="NuovoTesto", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
MsgBox "Sostituzione completata!", vbInformation
End Sub
Come eseguire questa macro (passo passo):
-
Apri l'editor: Premi Alt + F11 per aprire la finestra Visual Basic for Applications.
-
Inserisci un modulo: Vai su Inserisci > Modulo per creare uno spazio di lavoro vuoto.
-
Incolla il codice: Copia lo script sopra e incollalo nel modulo. Sostituisci "VecchioTesto" e "NuovoTesto" con i tuoi dati effettivi.

-
Esegui la macro: Premi F5 o torna in Excel e premi Alt + F8, seleziona BatchReplaceText e fai clic su Esegui.
Suggerimenti professionali:
- Controllo di precisione: Nel codice sopra, LookAt:=xlPart consente alla macro di sostituire il testo anche se è solo una parte del contenuto di una cella (ad esempio, cambiare "App" in "Applicazione" all'interno di "App Store"). Se devi sostituire solo le celle che corrispondono esattamente al tuo testo, cambia questo parametro in LookAt:=xlWhole.
- Backup prima: A differenza delle formule, le azioni VBA non possono essere annullate (Ctrl+Z). Salva sempre una copia di backup del tuo file prima di eseguire una macro.
- Ciclo su tutti i fogli: Puoi modificare il codice per ciclare su Each ws In ThisWorkbook.Worksheets per eseguire una sostituzione globale.
- Variabili per parole chiave: Per maggiore flessibilità, usa InputBox per consentire agli utenti di digitare il testo che desiderano sostituire ogni volta che la macro viene eseguita.
✅ Pro: Altamente efficiente per grandi set di dati; automatizza attività ripetitive.
⚠️ Limitazioni: Richiede che la cartella di lavoro venga salvata come Cartella di lavoro con attivazione macro di Excel (.xlsm); non può essere annullata.
Metodo 5 - Sostituisci testo in batch su più file Excel con Python
Per il massimo livello di automazione, l'utilizzo di Python con la libreria Spire.XLS è il modo migliore per sostituire testo in batch su più file Excel senza nemmeno aprirli. Questo cambia le regole del gioco per i professionisti che gestiscono centinaia di report e necessitano di mantenere la formattazione e la struttura dei documenti.

Perché usare Spire.XLS per Python?
- Preservazione della formattazione: A differenza di altre librerie, Spire.XLS mantiene intatti font, colori e layout durante la sostituzione del testo.
- Scalabilità: Elabora migliaia di cartelle di lavoro in pochi secondi, ideale per rebranding o aggiornamenti di dati a livello aziendale.
- Supporto formule: Consente di inserire varie formule Excel, rendendo facile eseguire calcoli complessi, anche senza aprire Excel.
- Non è necessario Excel: Opera indipendentemente da Microsoft Office, rendendolo perfetto per ambienti server automatizzati.
Codice Python: Sostituzione in batch utilizzando Spire.XLS
Questo script itera su un'intera cartella, cerca ogni foglio di lavoro e sostituisce termini specifici:
from spire.xls import *
import glob
# Percorso della tua cartella contenente i file Excel
files = glob.glob("C:/tua_cartella/*.xlsx")
for file in files:
# Carica la cartella di lavoro
workbook = Workbook()
workbook.LoadFromFile(file)
# Itera su tutti i fogli di lavoro per sostituire il testo
for i in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[i]
# Trova tutte le istanze del vecchio testo
found_ranges = sheet.FindAll("VecchioTesto", FindType.Text, ExcelFindOptions.MatchEntireCellContent)
if found_ranges:
for cell_range in found_ranges:
# Applica il testo di sostituzione
cell_range.Text = "NuovoTesto"
# Salva la cartella di lavoro aggiornata
workbook.SaveToFile(file, ExcelVersion.Version2016)
workbook.Dispose()
print("Sostituzione del testo in batch completata con successo!")
Implementazione passo passo:
- Prepara l'ambiente: Installa la libreria tramite terminale:
pip install Spire.Xls - Prepara il tuo script: Incolla il codice in un editor come VS Code o PyCharm.
- Configura i parametri: Aggiorna il percorso della cartella e sostituisci "VecchioTesto" e "NuovoTesto" con i tuoi dati effettivi.
- Esegui e verifica: Premi F5 per eseguire lo script. Verifica i file di output per confermare che i risultati della sostituzione siano corretti.
Suggerimenti professionali:
- Sostituzione di testo parziale: Se una cella contiene una stringa lunga (ad esempio, "Ordine: 1001") e vuoi cambiare solo il numero, usa
cell_range.TextPartReplace("1001", "2002"). Questo mantiene intatto il testo circostante. - Sensibilità alle maiuscole/minuscole: Il parametro ExcelFindOptions nel metodo FindAll consente di attivare la corrispondenza sensibile alle maiuscole/minuscole o la corrispondenza di parole intere per una maggiore precisione.
- Ricerca specifica per intervallo: Se sai che i dati di destinazione si trovano solo in un'area specifica, chiama FindAll su un XlsRange anziché sull'intero foglio:
sheet.Range["A1:C10"].FindAll(). - Regex e modelli: Puoi combinarlo con il modulo re di Python per la corrispondenza di modelli complessi prima di passare la stringa al ciclo di sostituzione.
✅ Pro: Velocità impareggiabile per attività ad alto volume; gestisce più file; preserva tutta la formattazione Excel originale.
⚠️ Limitazioni: Richiede la configurazione di un ambiente Python e conoscenze di programmazione di base.
Conclusione: Quale metodo scegliere?
La scelta del modo migliore per sostituire il testo in Excel dipende dalla scala dei tuoi dati e dal tuo livello di comfort con l'automazione:
- Modifiche rapide e semplici: Utilizza lo strumento integrato Trova e Sostituisci.
- Precisione basata sulla posizione: Utilizza la funzione REPLACE per dati strutturati (ad esempio, codici ID).
- Logica basata sul contenuto: Utilizza la funzione SUBSTITUTE per correggere termini specifici.
- Automazione della cartella di lavoro: Utilizza le macro VBA per gestire attività ripetitive su più fogli.
- Elaborazione batch professionale: Utilizza Python per gestire centinaia di file con formattazione preservata.
Selezionando il giusto flusso di lavoro, puoi garantire la coerenza dei dati, risparmiare ore di lavoro manuale ed eliminare gli errori umani.
Risoluzione dei problemi comuni di sostituzione del testo
Anche con gli strumenti giusti, potresti incontrare ostacoli. Ecco i problemi più comuni e come risolverli:
| Problema | Causa probabile | Soluzione |
|---|---|---|
| La sostituzione non è avvenuta | Il testo non corrisponde esattamente alla stringa Trova o vecchio_testo. | Verifica la presenza di spazi aggiuntivi o caratteri nascosti. Utilizza le funzioni TRIM() o CLEAN() per sanificare i dati prima. |
| Solo una parte del testo è stata sostituita | Le impostazioni di Trova e Sostituisci sono troppo restrittive. | Nel menu Opzioni, assicurati che Maiuscole/minuscole e Contenuto cella intero siano deselezionati per le sostituzioni parziali. |
| Errore #VALORE! (REPLACE) | Posizione di inizio o numero di caratteri non validi. | Assicurati che num_inizio e num_caratteri siano numeri interi positivi e rientrino nella lunghezza della stringa. |
| I risultati delle formule sono solo testo | REPLACE e SUBSTITUTE restituiscono sempre testo. | Se hai bisogno di un numero, moltiplica il risultato per 1 (ad esempio, =SOSTITUISCI(...)*1) o racchiudilo in VALUE(). |
| La macro VBA non viene eseguita | Impostazioni di sicurezza macro o fogli protetti. | Abilita le macro nel Centro Protezione e assicurati che il foglio di lavoro sia non protetto prima dell'esecuzione. |
| Errori nello script Python | Percorsi file errati o dipendenze mancanti. | Assicurati che Spire.Xls sia installato. Ricontrolla la sintassi del percorso della tua cartella (usa / o \\ in Windows). |
Domande frequenti: Sostituisci dati in Excel
D1: Posso sostituire testo in più fogli senza VBA o Python?
Sì. Nella finestra di dialogo Trova e Sostituisci, fai clic su Opzioni e cambia il menu a discesa All'interno da "Foglio" a "Cartella di lavoro". Questo ti consente di aggiornare l'intero file contemporaneamente.
D2: Come sostituisco il testo preservando la formattazione della cella?
Le formule standard (SUBSTITUTE) creano nuovo testo in una nuova cella. Per mantenere la formattazione nella cella originale, usa lo strumento manuale Trova e Sostituisci o una libreria professionale come Spire.XLS per Python, progettata per modificare il contenuto senza rimuovere gli stili.
D3: Posso sostituire testo in base a uno schema specifico (ad esempio, qualsiasi cifra a 3 cifre)?
Sì, ma avrai bisogno di caratteri jolly (* o ?) nello strumento Trova e Sostituisci, o di espressioni regolari (Regex) in uno script Python per modelli più complessi.
D4: Cosa succede se il testo di destinazione si trova in una posizione diversa in ogni cella?
Utilizza una formula dinamica che combina REPLACE con FIND:
=SE.ERRORE(REPLACE(A2, TROVA("vecchio", A2), LUNGHEZZA("vecchio"), "nuovo"), A2)
Questo individua il testo "vecchio" indipendentemente da dove inizia e lo sostituisce con "nuovo".
D5: Come posso automatizzare le sostituzioni per centinaia di file separati?
Il metodo più efficiente è utilizzare Python. Sfruttando glob per trovare i file e Spire.XLS per elaborarli, puoi aggiornare migliaia di cartelle di lavoro in pochi secondi senza nemmeno aprire Excel.