Eccellere

Estrai la parola contenente un testo specifico

Extract Word Containing Specific Text

Formula di Excel: estrai la parola contenente un testo specificoFormula generica |_+_| Riepilogo

Per estrarre una parola che contiene un testo specifico, puoi utilizzare una formula basata su diverse funzioni, tra cui TRIM, LEFT, SUBSTITUTE, MID, MAX e REPT. Puoi usare questa formula per estrarre cose come indirizzi email o altre sottostringhe con un ID univoco.





Nell'esempio mostrato, la formula in C5 è:

= TRIM ( MID ( SUBSTITUTE (A1,' ', REPT (' ',99)), MAX (1, FIND ('@', SUBSTITUTE (A1,' ', REPT (' ',99)))-50),99))
Spiegazione

Il succo: questa formula 'inonda' lo spazio tra le parole in una stringa di testo con un gran numero di spazi, trova ed estrae la sottostringa di interesse e utilizza la funzione TRIM per ripulire il pasticcio.





Lavorando dall'interno verso l'esterno, il testo originale in B5 è inondato di spazi usando SOSTITUTO:

 
= TRIM ( MID ( SUBSTITUTE (B5,' ', REPT (' ',99)), MAX (1, FIND ('@', SUBSTITUTE (B5,' ', REPT (' ',99)))-50),99))

Questo sostituisce ogni singolo spazio con 99 spazi.



Nota: 99 è solo un numero arbitrario che rappresenta la parola più lunga che devi estrarre.

Successivamente, la funzione TROVA individua il carattere specifico (in questo caso, '@') all'interno del testo inondato:

come inserire un'interruzione di riga in Excel
 
 SUBSTITUTE (B5,' ', REPT (' ',99))

TROVA restituisce la posizione della '@' in questo testo, da cui viene sottratto 50. Sottrarre 50 effettivamente 'torna indietro' alla posizione in qualche punto nel mezzo degli spazi che precedono la sottostringa di interesse. Nell'esempio mostrato, la posizione calcolata è 366.

La funzione MAX viene utilizzata per gestire il problema della sottostringa che appare per prima nel testo. In tal caso, la posizione sarà negativa e MAX viene utilizzato per ripristinare a 1.

Con una posizione iniziale stabilita, MID viene utilizzato per estrarre 99 caratteri di testo, a partire da 366 dal testo in B5, sempre inondato di spazio:

 
 FIND ('@', SUBSTITUTE (B5,' ', REPT (' ',99)))-50

Questo estrae la sottostringa di interesse, con molti caratteri di spazio prima e dopo.

Infine, la funzione TRIM viene utilizzata per tagliare lo spazio iniziale e finale e restituisce la sottostringa contenente il carattere speciale.

Autore Dave Bruns


^