Note: The other languages of the website are Google-translated. Back to English

Come estrarre la prima / l'ultima / ennesima parola dalla stringa di testo in Excel?

Hai mai sofferto del problema di dover estrarre una determinata parola dalla stringa di testo in un foglio di lavoro? Ad esempio, hai il seguente intervallo di stringhe di testo necessarie per ottenere la prima / ultima o l'ennesima parola da esse, qui posso parlare di alcuni modi efficaci per risolverlo.


Estrai la prima parola o il cognome dalla stringa di testo con le formule

Se devi estrarre la prima parola da un elenco di stringhe di testo, le seguenti formule possono aiutarti.

Per estrarre la prima parola, inserisci la formula seguente in una cella vuota, quindi trascina la maniglia di Riempimento automatico di questa cella nell'intervallo di cui hai bisogno.

= SE (ISERR (FIND ("", A2)), "", LEFT (A2, FIND ("", A2) -1))

Per estrarre l'ultima parola da ogni cella, applica questa formula:

= IF (ISERR (FIND ("", A2)), "", RIGHT (A2, LEN (A2) -FIND ("*", SUBSTITUTE (A2, "", "*", LEN (A2) -LEN ( SOSTITUISCI (A2, "", ""))))))

E ora vedrai la prima o l'ultima parola estratta da ogni cella.

Note: Nelle formule sopra, A2 indica la cella da cui estrarrai la prima o l'ultima parola.

Difficile memorizzare formule lunghe e complicate? Lo straordinario strumento ti aiuta a estrarre l'ennesima parola wsolo con diversi clic!

Sopra le formule lunghe puoi solo estrarre la prima e l'ultima parola, ma sarà inutile estrarre l'ennesima parola specificata, dice la seconda parola, la sesta parola, ecc. Anche tu puoi capire le formule per risolvere il problema, le formule devono essere troppo complesso per essere memorizzato e applicato. Qui, si consiglia la funzione Estrai l'ennesima parola nella cella di Kutools per Excel e ti aiuterà a estrarre l'ennesima parola il più facilmente possibile!


Kutools for Excel - Include più di 300 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Get It Now

Estrai l'ennesima parola dalla stringa di testo con la funzione definita dall'utente

Se si desidera estrarre la seconda, la terza o qualsiasi ennesima parola dalla stringa di testo, è possibile creare una funzione definita dall'utente per gestirla.

1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo finestra.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. Quindi salva il codice, in questo esempio, otterrò la terza parola dalla stringa, quindi digita questa formula = trova (A2,3) in una cella vuota B2, quindi trascina la maniglia di Riempimento automatico di questa cella nell'intervallo di cui hai bisogno. Vedi screenshot:

NOTA: Nella formula sopra, A2 è la cella da cui si desidera estrarre la parola, il numero 3 indica la terza parola della stringa che estrarrai e potrai modificarla secondo le tue necessità.


Estrai ogni parola dalla stringa di testo ed elencale orizzontalmente o verticalmente

Questo metodo introdurrà Kutools per Excel Celle divise utilità per estrarre ogni parola dalle celle della stringa di testo, quindi elencare le parole estratte orizzontalmente o verticalmente in base alle proprie necessità.

Kutools for Excel - Include più di 300 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Prova gratuita ora!

1. Seleziona le celle della stringa di testo da cui estrarrai le loro parole e fai clic su Kutools > Unisci e dividi > Celle divise.

2. Nella finestra di dialogo di apertura Celle divise, specificare il tipo di divisione nel file Tipologia sezione, controlla il Lo spazio opzione nel Specifica un separatore sezione e fare clic su Ok pulsante. Vedi screenshot:

3. Ora specifica l'intervallo di destinazione in cui esportare le parole estratte e fai clic su OK pulsante

Se hai controllato il file Dividi in colonne opzione nella finestra di dialogo Celle divise sopra, ogni parola viene estratta da ogni stringa di testo ed elencata verticalmente.

Se hai controllato il file Dividi in righe opzione nella finestra di dialogo Celle divise sopra, ogni parola viene estratta da ogni stringa di testo ed elencata orizzontalmente.


Estrai l'ennesima parola dalla stringa di testo in Excel con uno strumento straordinario

Se hai installato Kutools per Excel, puoi utilizzare il suo Helper formula> Estrai l'ennesima parola nella funzione cella per estrarre rapidamente l'ennesima parola dalla cella specificata.

Kutools for Excel - Include più di 300 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Prova gratuita ora!

1. Seleziona la cella in cui inserire la parola estratta e fai clic Kutools > formula Helper > formula Helper per attivare questa funzionalità.

2. Nella finestra di dialogo Helper formule, eseguire le operazioni seguenti:
(1) Seleziona Testo dal Tipo di formula menu `A tendina;
(2) Fare clic per evidenziare Estrai l'ennesima parola nella cella nel Scegli una formula casella di riepilogo;
(3) Nella Cella casella, specificare la cella da cui estrarre la parola;
(4) Dentro L'ennesimo casella, specificare il numero.

3. Clicca il Ok pulsante. Se necessario, trascina la maniglia di riempimento automatico della cella della formula e copia la formula su altre celle.


Demo: estrae ogni parola dalla stringa di testo e le elenca orizzontalmente o verticalmente


Kutools for Excel include più di 300 utili strumenti per Excel, da provare gratuitamente senza limitazioni in 30 giorni. Scarica e prova gratuita ora!

Articoli correlati:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (38)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Quel codice vba è fantastico, grazie mille.
Questo commento è stato fatto dal moderatore sul sito
Questa funzione definita dall'utente è fantastica! Grazie mille per averlo condiviso.
Questo commento è stato fatto dal moderatore sul sito
Molte grazie! Ha funzionato bene! :-)
Questo commento è stato fatto dal moderatore sul sito
Questo è stato SUPER utile, mi chiedevo se qualcuno fosse a conoscenza di un elenco scaricabile o copiabile e incollabile di utili funzioni fatte a mano come "FindWord" che sarei stato in grado di utilizzare.
Questo commento è stato fatto dal moderatore sul sito
Ciao, mi stavo chiedendo cos'altro potrei inserire nella formula di Visual Basic che potrebbe estrarre e virgole o trattini immediatamente dopo i dati.. per es. Fortin-
Questo commento è stato fatto dal moderatore sul sito
Ciao, questo è eccellente. Ha funzionato molto bene e riduce il nostro sforzo risparmiando molto tempo in questa operazione. Grazie a tutti coloro che hanno lavorato su questo e condiviso...
Questo commento è stato fatto dal moderatore sul sito
Bravo. Questo ha funzionato molto bene
Questo commento è stato fatto dal moderatore sul sito
Ciao, questo fa davvero risparmiare un sacco di tempo. Grazie per la condivisione Qualcuno può anche suggerire come estrarre le parole con vba in modo inverso, ad esempio l'ultima parola è 1, la seconda da destra a sinistra è 2 e così via. Questo sarà molto apprezzato.
Questo commento è stato fatto dal moderatore sul sito
Questo non funziona correttamente su una stringa sorgente composta da non parole (come i nomi dei fornitori seguiti da numeri di parte)
Questo commento è stato fatto dal moderatore sul sito
come possiamo cambiare i caratteri per l'ennesima parola in una cella
Questo commento è stato fatto dal moderatore sul sito
Molto apprezzato. Mi ha aiutato molto.
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per il tuo pezzo di codice. Mi ha ispirato a espandermi un po'. Nelle righe successive è possibile selezionare: ultima parola (0), penultima (-1), penultima (-2) ecc. Indipendentemente dal numero di parole. Funzione FindWord(Source As String, Position As Integer) 'Aggiorna 20150504 Dim arr() As String arr = VBA.Split(Source, " ") xCount = UBound(arr) Seleziona Case Position Case -xCount To 0 FindWord = arr(xCount + Posizione) Caso 1 A (xCount + 1) FindWord = arr(Position - 1) Caso Altrimenti FindWord = "" Fine Seleziona Fine Funzione
Questo commento è stato fatto dal moderatore sul sito
Ciao, solo un'aggiunta al codice di ieri. Questo aggiunge una riga in più per regolare gli spazi ridondanti nella stringa di origine: arr = VBA.Split(WorksheetFunction.Trim(Source), " ") saluti, Allart
Questo commento è stato fatto dal moderatore sul sito
Grazie, Alan, è fantastico, grazie! :)
Questo commento è stato fatto dal moderatore sul sito
Grazie mille!!
Questo commento è stato fatto dal moderatore sul sito
Ciao .. Grazie per il tuo codice, ho delle frasi elenco e una di queste è solo 1 parola, e il tuo codice non funziona se ha solo 1 parola ..
Questo commento è stato fatto dal moderatore sul sito
Non riesco a far funzionare il codice per la prima parola se una parte del mio elenco ha solo una parola nella cella. es. prima parola ---> prima seconda ---> [null] ultima parola ---> ultima
Questo commento è stato fatto dal moderatore sul sito
Prova questo (vedi la mia risposta sopra): Function FindWord(Source As String, Position As Integer) ' ottiene 1st, 2nd, last(0), second to last(-2) etc, word from a string ' Update 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Seleziona maiuscolo posizione Case -xCount To 0 FindWord = arr(Position + xCount) Case 1 To xCount + 1 FindWord = arr (Posizione - 1) Caso Altro FindWord = "" Fine Seleziona
Questo commento è stato fatto dal moderatore sul sito
Ciao geek, ho un cellulare come questo: 1 ABCD; 2 DEDF; 1 DED#3d; 4 FDWDS; 1 ED E vorrei estrarre il carattere dopo 1. Desidero quindi avere un risultato come di seguito: ABCD;DED#3d;ED
Questo commento è stato fatto dal moderatore sul sito
Ho Excel 64 a 2013 bit e mi manca il componente aggiuntivo Morefunc. Sulla base del codice sopra, ho trovato questo sostituto per la funzione WMID di Morefunc. Sarei grato se qualcuno più esperto di me potesse eseguire qualsiasi riordino. Funzione WMid1(Sorgente come stringa, Posizione opzionale come intero, Conteggio parole opzionale come intero, Separatore opzionale come stringa) Dim arr() As String Dim xCount As Integer Dim wCount As Integer Dim wFirst As Integer Dim wLast As Integer Se Position = 0 Then Position = 1 Se WordCount = 0 Then WordCount = 1 Se Separator = "" Then Separator = " " arr = VBA.Split(Trim(Source), Separator) xCount = UBound(arr) + 1 Se Position < 1 Then wFirst = Application. Max(xCount + Position - WordCount + 1, 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If If xCount < 2 o Abs(Position) > xCount Then WMid1 = "" Altrimenti WMid1 = arr(wFirst) For wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL