Come rimuovere caratteri o parole duplicati in una stringa di una cella di Excel?
Quando si lavora con i dati in Excel, è piuttosto comune incontrare situazioni in cui le celle contengono caratteri ripetuti o parole duplicate. Ad esempio, potresti avere input generati dagli utenti, log esportati o codici prodotto in cui caratteri o parole possono apparire più volte. Rimuovere questi duplicati può aiutare a pulire i dati per ulteriori analisi, migliorare la leggibilità o preparare le stringhe per l'uso in altri sistemi.
Questa guida introduce diversi metodi per rimuovere caratteri o parole duplicate all'interno di una singola cella. Puoi scegliere la soluzione più adatta in base alla tua versione di Excel, al tuo livello di comfort tecnico e al tipo di delimitatore utilizzato nei tuoi dati. Che i tuoi dati riguardino singoli caratteri o intere parole separate da spazi o punteggiatura, c'è un approccio pratico qui sotto che puoi utilizzare.
- Rimuovi caratteri o parole duplicati utilizzando la formula di Excel (Array Dinamico)
- Rimuovi caratteri duplicati di una stringa di testo con una Funzione Definita dall'Utente
- Rimuovi parole duplicate separate da punteggiatura con una Funzione Definita dall'Utente
Rimuovi caratteri o parole duplicati utilizzando la Formula di Excel (Array Dinamico)
Se stai utilizzando Microsoft 365 o Excel 2021 e versioni successive, puoi sfruttare le formule di array dinamico per rimuovere caratteri o parole duplicate da una cella - completamente senza VBA. Queste funzioni, come TEXTSPLIT, UNIQUE, TEXTJOIN e MID, rendono facile dividere, deduplicare e ricostruire la stringa direttamente nel tuo foglio di lavoro.
Questo metodo è particolarmente consigliato se preferisci non usare macro, vuoi una soluzione efficiente e sei a tuo agio con le ultime funzionalità delle formule di Excel.
Vantaggi: Si ricalcola istantaneamente quando i dati di origine cambiano, non è necessario abilitare le macro o permessi speciali, la formula può essere facilmente applicata a intervalli di dati ampi.
Svantaggi: Funziona solo in Excel per Microsoft 365, Excel 2021 o versioni successive (non funziona in Excel 2019 o precedenti).
Per rimuovere i caratteri duplicati all'interno di una cella (ad esempio, "banana" → "ban"):
1. Seleziona la cella in cui desideri visualizzare il risultato (ad esempio, la cella B2 accanto alla tua cella di origine A2) e inserisci la seguente formula:
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))
Questa formula divide il contenuto di A2 in singoli caratteri usando MID, genera posizioni sequenziali utilizzando ROW(INDIRECT(...)), estrae caratteri univoci con UNIQUE, e poi li combina nuovamente in una stringa di testo con TEXTJOIN.
2. Premi Invio. Il risultato della formula mostrerà la stringa in A2 con i caratteri duplicati rimossi, preservando l'ordine. Per applicare la stessa operazione ad altre righe, usa la maniglia di riempimento per copiare la formula verso il basso secondo necessità.
Nota: Se vedi un errore #NOME?, la tua versione di Excel potrebbe non supportare queste funzioni. Assicurati di utilizzare Excel per Microsoft 365 o Excel 2021 o versioni successive.
Risoluzione dei problemi: A volte, spazi extra o punteggiatura possono interferire con i risultati. Considera l'uso di TRIM o TEXTSPLIT con argomenti aggiuntivi se i tuoi dati non sono formattati in modo coerente.
L'uso di formule di array dinamico aiuta a mantenere efficiente e aggiornato il flusso di lavoro e semplifica le attività di pulizia dei dati sia per modelli di stringhe semplici che complessi.
Rimuovi caratteri duplicati di una stringa di testo con una Funzione Definita dall'Utente
Se hai un intervallo di celle contenenti stringhe di testo e devi rimuovere caratteri duplicati da ogni cella - ad esempio, trasformando "aabbcc" in "abc" come illustrato di seguito - una funzione VBA personalizzata può aiutarti a farlo rapidamente, specialmente se la tua versione di Excel non supporta formule di array avanzate.
1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella Finestra del Modulo. Assicurati di aggiungere il codice all'inizio del modulo per evitare conflitti con altre macro che potresti avere.
Codice VBA: Rimuovi caratteri duplicati di una stringa di testo in una cella
Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupes1 = xOutValue
End Function
3. Dopo aver salvato e chiuso la finestra del codice VBA, torna al tuo foglio di lavoro. Inserisci questa formula =removedupes1(A2) in una cella vuota accanto al tuo testo originale (qui, A2 è la cella contenente la stringa che vuoi elaborare). Guarda l'illustrazione qui sotto:
4. Premi Invio per calcolare il risultato. Trascina la maniglia di riempimento verso il basso per applicare la funzione a tutte le altre celle rilevanti nella colonna, e vedrai che tutti i caratteri duplicati vengono rimossi immediatamente da ogni cella corrispondente.
Suggerimento: L'ordine di apparizione viene preservato - la funzione mantiene la prima occorrenza di ogni carattere e rimuove i duplicati successivi all'interno della cella.
Precauzione: Le Funzioni Definite dall'Utente (UDF) aggiunte tramite VBA sono disponibili solo nel workbook in cui è memorizzato il codice. Se sposti o condividi il tuo workbook, assicurati che la macro sia inclusa o reinserita nel file di destinazione. Inoltre, le macro devono essere abilitate affinché il codice funzioni.

Sblocca la Magia di Excel con Kutools AI
- Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
- Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
- Interpretazione delle Formule: Comprendi facilmente formule complesse.
- Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Rimuovi parole duplicate separate da punteggiatura con una Funzione Definita dall'Utente
In situazioni in cui i tuoi dati consistono di parole separate da punteggiatura - come virgole, punti e virgola o altri simboli - potresti voler rimuovere parole ripetute all'interno di ogni cella mantenendo solo la prima occorrenza di ogni parola. Questo è particolarmente utile per liste di tag, categorie o indirizzi. Puoi farlo in modo efficiente utilizzando una funzione VBA personalizzata.
1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella Finestra del Modulo. Posiziona il codice all'inizio di un nuovo modulo se possibile, per chiarezza.
Codice VBA: Rimuovi parole duplicate separate da punteggiatura di una cella
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby Extendoffice
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
End Function
3. Dopo aver salvato e chiuso la finestra VBA, torna al tuo foglio di lavoro. In una colonna vuota accanto ai tuoi dati, inserisci questa formula: =RemoveDupes2(A2,","). Qui, A2 si riferisce alla tua cella di destinazione e "," indica il segno di punteggiatura utilizzato come separatore. Puoi sostituire questa virgola con un altro carattere (come ";" o spazio) se le tue parole sono divise da una punteggiatura diversa.
4. Premi Invio per confermare, quindi trascina la formula verso il basso per riempire le altre celle secondo necessità. Dopo questo passaggio, tutte le parole duplicate vengono rimosse dalle rispettive celle, lasciando parole uniche nell'ordine originale. Guarda il risultato qui sotto:
Nota: Nella formula, puoi cambiare sia il riferimento della cella che il separatore di punteggiatura in base ai tuoi dati. Se vengono utilizzati più caratteri o diversi tipi di separatori (come spazio e virgola combinati), potrebbe essere necessario un ulteriore aggiustamento del codice.
Suggerimento: Come per tutte le macro VBA, ricorda di tenere una copia di backup del tuo workbook e abilitare le macro per utilizzare questa funzione.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in