KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come si estrae il testo prima o dopo il secondo spazio o la virgola in Excel?

AutoreXiaoyang Data di modifica

Quando si lavora con dati testuali in Excel, capita spesso di imbattersi in stringhe contenenti spazi multipli, virgole o altri delimitatori. Sebbene la funzionalità Testo in colonne di Excel permetta di suddividere il contenuto di una cella in colonne separate in base a un delimitatore specifico, a volte serve una soluzione più mirata — ad esempio, estrarre tutto ciò che precede o segue il secondo spazio o la seconda virgola all’interno di una cella. Questo articolo presenta diversi metodi pratici per raggiungere questo obiettivo: formule precise per isolare il testo prima o dopo il secondo spazio o la seconda virgola, soluzioni automatizzate e affidabili tramite macro VBA ideali per set di dati estesi, e opzioni flessibili con Power Query per una pre-elaborazione avanzata dei dati.

uno screenshot della stringa di testo originale e dei due segmenti separati dal secondo spazio

Estrai testo prima del secondo spazio o della virgola con formula

Estrai testo dopo il secondo spazio o della virgola con formula

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


Estrai testo prima del secondo spazio o della virgola con formula

Se desideri estrarre la parte di una cella che precede il 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, la cella)C2):

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

2. Premi Invio. Poi usa il quadratino di riempimento per trascinare la formula verso il basso su tutte le righe da elaborare. Il risultato mostrerà tutto il testo prima del secondo spazio in ciascuna riga corrispondente – vedi lo screenshot qui sotto:

Suggerimento:Se desideri estrarre il testo prima della seconda virgola o di un altro delimitatore, sostituisci semplicemente il carattere spazio ()" ") nella formula con il 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 occasionali o quando si lavora con set di dati di dimensioni moderate. Tuttavia, se il testo presenta una struttura molto irregolare o il numero di delimitatori varia notevolmente da riga a riga, potrebbero essere necessari ulteriori aggiustamenti della formula. Fai attenzione anche agli spazi superflui o alle celle vuote, che potrebbero compromettere l’accuratezza dei risultati. Verifica sempre con cura l’output prima di applicare la formula a dati critici.

uno screenshot di kutools for excel ai

Sblocca la magia di Excel con KUTOOLS AI

  • Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
  • Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
  • Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
  • Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Potenzia le tue capacità in Excel con strumenti basati sull’intelligenza artificiale.Scarica orae scopri un’efficienza mai provata prima!

Estrai testo dopo il secondo spazio o della virgola con formula

Per estrarre il testo che compare dopo il secondo delimitatore spazio in una cella, puoi combinare le funzioni STRINGA.ESTR e TROVA.

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 il quadratino di riempimento verso il basso su tutte le righe in cui devi estrarre i dati. Verrà visualizzato automaticamente tutto ciò che segue il secondo spazio in ciascuna riga, come mostrato nello screenshot:

Suggerimento: Per estrarre il testo dopo la seconda virgola o qualsiasi altro separatore, sostituisci lo spazio nella formula con il delimitatore desiderato. Nel caso di una virgola, la formula diventerebbe:

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

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

Per set di dati più ampi, estrazioni ripetute o scenari di automazione, l’utilizzo di una macro VBA rappresenta una soluzione efficace. VBA ti consente di estrarre testo prima o dopo il secondo spazio, la virgola o qualsiasi altro delimitatore, aumentando notevolmente l’efficienza quando lavori con strutture dati diverse o quando ti serve una procedura ripetibile.

1. Seleziona Sviluppo > Visual Basic. Nella finestra di Microsoft Visual Basic, Applications che si apre, fai clic 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, fai clic sul pulsante Pulsante Esegui Esegui oppure premi F5 per eseguirlo. Ti verrà mostrata una finestra di dialogo in cui dovrai: selezionare il tuo intervallo dati, inserire il delimitatore, specificare se desideri il testo “prima” o “dopo” la seconda occorrenza e infine indicare la cella in cui inserire il risultato. La macro restituirà il risultato estratto direttamente nella cella da te scelta.


Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi