
Formula generică
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
rezumat
Pentru a extrage un cuvânt care conține text specific, puteți utiliza o formulă bazată pe mai multe funcții, inclusiv TRIM, LEFT, SUBSTITUTE, MID, MAX și REPT. Puteți utiliza această formulă pentru a extrage lucruri precum adrese de e-mail sau alte șiruri de caractere cu un id unic.
În exemplul prezentat, formula din C5 este:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Explicaţie
Esențial: această formulă „inundă” spațiul dintre cuvinte într-un șir de text cu un număr mare de spații, găsește și extrage șirul de interes și folosește funcția TRIM pentru a curăța mizeria.
Lucrând din interior spre exterior, textul original din B5 este inundat de spații folosind SUBSTITUTE:
SUBSTITUTE(B5," ",REPT(" ",99))
Aceasta înlocuiește fiecare spațiu cu 99 de spații.
Notă: 99 este doar un număr arbitrar care reprezintă cel mai lung cuvânt pe care trebuie să îl extrageți.
Apoi, funcția FIND localizează caracterul specific (în acest caz, "@") în interiorul textului inundat:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
FIND returnează poziția „@” din acest text, din care se scade 50. Scăderea a 50 în mod eficient „merge înapoi” poziția într-un loc în mijlocul spațiilor care preced șirul de interes. În exemplul prezentat, poziția calculată este 366.
Funcția MAX este utilizată pentru a rezolva problema subșirului care apare primul în text. În acest caz, poziția va fi negativă, iar MAX este utilizat pentru a reseta la 1.
Cu o poziție inițială stabilită, MID este utilizat pentru a extrage 99 de caractere de text, începând cu 366 din textul din B5, din nou inundat de spațiu:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
Aceasta extrage șirul de interes, cu o mulțime de caractere spațiale înainte și după.
În cele din urmă, funcția TRIM este utilizată pentru a tăia spațiul de conducere și de urmărire și returnează subșirul care conține caracterul special.