Come estrarre il testo prima/dopo il secondo spazio o virgola in Excel?
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.
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.

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.
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 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
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