Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come rimuovere caratteri o parole duplicati in una stringa di una cella di Excel?

Author Xiaoyang Last modified

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.


arrow blue right bubble 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.


arrow blue right bubble 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.

Duplicate characters removed from each cell

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:

Formula entered in the first cell

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.

Formula populated to the below cells

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.

a screenshot of kutools for excel ai

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.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

arrow blue right bubble 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.

Formula entered in the first cell

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:

Formula populated to the below cells

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

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

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.

Excel Word Outlook Tabs PowerPoint
  • 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