Formula di Excel: estrai la parola contenente un testo specifico -

Formula generica

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

Sommario

Per estrarre una parola che contiene testo specifico, è possibile utilizzare una formula basata su diverse funzioni, tra cui TAGLIA, SINISTRA, SOSTITUISCI, MEDIO, MASSIMO e RIPETI. Puoi utilizzare questa formula per estrarre elementi come indirizzi email o altre sottostringhe con un ID univoco.

Nell'esempio mostrato, la formula in C5 è:

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",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 casino.

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

SUBSTITUTE(B5," ",REPT(" ",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:

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

TROVA restituisce la posizione della "@" in questo testo, da cui viene sottratto 50. Sottraendo 50 in modo efficace "riporta indietro" la posizione da qualche parte 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 reimpostare a 1.

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

MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)

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

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

Articoli interessanti...