Skip to main content

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

Come estrarre il testo prima/dopo il secondo spazio o virgola in Excel? 

Author Xiaoyang Last modified

Quando si lavora con dati di testo in Excel, si possono incontrare frequentemente stringhe contenenti più spazi, virgole o altri delimitatori. Sebbene la funzionalità Testo in Colonne in Excel possa dividere il contenuto di una cella in colonne separate basandosi su un delimitatore scelto, ci sono momenti in cui serve una soluzione più specifica, come ad esempio estrarre tutto ciò che è prima o dopo il secondo spazio o virgola in una cella. Questo articolo descrive diversi metodi pratici per raggiungere questo obiettivo, inclusi formule che mirano al testo prima o dopo il secondo spazio/virgola, soluzioni robuste utilizzando macro VBA per l'automazione o grandi set di dati, e opzioni versatili utilizzando Power Query per l'elaborazione avanzata dei dati.

a screenshot of the original text string and the two segments separated by the second space

Estrai il testo prima del secondo spazio o virgola con una formula

Estrai il testo dopo il secondo spazio o virgola con una formula

Estrai il testo prima o dopo il secondo delimitatore (spazio/virgola) con codice VBA


Estrai il testo prima del secondo spazio o virgola con una formula

Se vuoi isolare la parte di una cella che appare prima del secondo spazio, puoi utilizzare una combinazione di funzioni di Excel. 

1. Inserisci la seguente formula in una cella vuota dove desideri visualizzare il risultato (ad esempio, cella C2):

=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))

2. Premi Invio. Poi usa la maniglia di riempimento per trascinare la formula verso il basso per tutte le righe che desideri elaborare. Il risultato mostrerà tutto il testo prima del secondo spazio in ogni riga corrispondente—vedi screenshot sotto:

Suggerimento: Se vuoi estrarre il testo prima della seconda virgola o altro delimitatore, sostituisci semplicemente il carattere spazio (" ") nella formula con il tuo delimitatore desiderato. Ad esempio, per una virgola:

=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))

Questo approccio è rapido ed efficiente per estrazioni singole o quando si lavora con set di dati di dimensioni moderate. Tuttavia, se il testo è altamente irregolare o il numero di delimitatori varia notevolmente tra le righe, potrebbero essere necessari ulteriori aggiustamenti delle formule. Inoltre, fai attenzione agli spazi extra o alle celle vuote, che possono influire sui risultati. Controlla sempre attentamente l'output quando lo applichi a dati critici.

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!

Estrai il testo dopo il secondo spazio o virgola con una formula

Per estrarre il testo che appare dopo il secondo delimitatore di spazio in una cella, puoi usare insieme le funzioni MID e FIND

1. Inserisci la seguente formula nella cella di destinazione (ad esempio, D2):

=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)

2. Premi Invio. Trascina la maniglia di riempimento verso il basso attraverso tutte le righe che richiedono l'estrazione. Questo mostrerà tutto ciò che viene dopo il secondo spazio per ogni riga, come dimostrato nello screenshot:

Suggerimento: Per estrarre il testo dopo la seconda virgola o qualsiasi altro separatore, sostituisci il carattere spazio all'interno della formula con il tuo delimitatore richiesto. Per una virgola, la formula sarebbe:

=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256)

Estrai il testo prima o dopo il secondo delimitatore (spazio/virgola) con codice VBA

Per set di dati più grandi, estrazioni ripetute o scenari di automazione, l'utilizzo di una macro VBA è una soluzione efficace. VBA ti permette di estrarre il testo prima o dopo il secondo spazio, virgola o qualsiasi altro delimitatore, migliorando l'efficienza quando si lavora con diverse strutture di dati o quando serve una routine ripetibile.

1. Seleziona Sviluppatore > Visual Basic. Nella finestra Microsoft Visual Basic for Applications apparsa, clicca su Inserisci > Modulo, e inserisci il seguente codice nella finestra del modulo:

Sub ExtractTextSecondDelimiter()
    Dim rng As Range
    Dim cell As Range
    Dim sep As String
    Dim direction As String
    Dim arr As Variant
    Dim result As String
    Dim pos1 As Long
    Dim pos2 As Long
    Dim xTitleId As String
    Dim outputCell As Range
    Dim i As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
    If sep = "" Then Exit Sub
    direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
    If direction = "" Then Exit Sub
    Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    i = 0
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            pos1 = InStr(1, cell.Value, sep)
            If pos1 > 0 Then
                pos2 = InStr(pos1 + 1, cell.Value, sep)
                If pos2 > 0 Then
                    If LCase(direction) = "before" Then
                        result = Left(cell.Value, pos2 - 1)
                    ElseIf LCase(direction) = "after" Then
                        result = Mid(cell.Value, pos2 + Len(sep))
                    Else
                        result = cell.Value
                    End If
                Else
                    result = cell.Value
                End If
            Else
                result = cell.Value
            End If
            outputCell.Offset(i, 0).Value = result
        End If
        i = i + 1
    Next
    Application.ScreenUpdating = True
    MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub

2. Dopo aver incollato il codice, clicca sul pulsante Run button Esegui , oppure premi F5 per eseguire. Una finestra di dialogo ti chiederà di selezionare l'intervallo dei tuoi dati, quindi inserisci il delimitatore, specifica se vuoi il testo “prima” o “dopo” la seconda occorrenza, e infine seleziona una cella per ottenere il risultato. La macro produrrà il risultato estratto nella cella specificata.


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