La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno a tutti.
Avete idea di come si possa estrarre un indirizzo email da un testo presente in una cella excel, con tale indirizzo posto in una posizione a caso?
E' facile determinare la posizione del carattere @, ma mi è poi difficile determinare il carattere " " (spazio) immediatamente prima ed immediatamente dopo il carettere @ per poi estrarre tale indirizzo.
Come esempi, immaginiamo di avere queste stringhe:
aaaa bbbb cccc eee.fff@gmail.com qqqq ppp zzzz
aaaa eee.fff@gmail.com qqqq
eee.fff@gmail.com qqqq ppp zzzz
aaaa bbbb cccc eee.fff@gmail.com
per tutte le quattro stringhe, mi servirebbe estrarre eee.fff@gmail.com
Mi sto incartando con annidamenti di "TROVA", "SINISTRA", "STRINGA.ESTRAI" che dipendono da quanti spazi devo considerare prima del carattere @, cosa di fatto impredicibile (potrebbero essere tantissimi).
Grazie per l'aiuto.
ciao
=FILTRO.XML("<d><a>"&SOSTITUISCI($A1;" ";"</a><a>")&"</a></d>";"//a[contains(., '@')]")
@gianfranco55 Grazie Gianfranco. La formula funziona perfettamente. Non ti nascondo che mi risulta un po' criptica ma cercherò di comprenderla valutanto bene la sintassi che hai inserito (il contenuto dei due parametri della FILTRO.XML). Sei stato preziosissimo.
ciao
grazie del riscontro
Studiati la formula
la base è....XML
"<t><s>"&SUBSTITUTE(A1,"|","</s><s>")&"</s></t>"
e da qui si parte
esempio
estrarre tutte le parole
=FILTRO.XML(<XML>,"//s")
estrai la 3 parola
=FILTRO.XML(<XML>,"//s[3]")
estrai l'ultima parola
=FILTRO.XML(<XML>,"//s[last()]")
se ti prende la userai più di quel che pensi