
Splošna formula
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Povzetek
Če želite izvleči besedo, ki vsebuje določeno besedilo, lahko uporabite formulo, ki temelji na več funkcijah, vključno s TRIM, LEFT, SUBSTITUTE, MID, MAX in REPT. To formulo lahko uporabite za pridobivanje stvari, kot so e-poštni naslovi ali drugi podnizi z edinstvenim ID-jem.
V prikazanem primeru je formula v C5:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Pojasnilo
Bistvo: ta formula "preplavi" prostor med besedami v besedilnem nizu z velikim številom presledkov, poišče in izvleče podniz, ki nas zanima, in s funkcijo TRIM očisti nered.
Izvirno besedilo v B5, ki deluje od znotraj navzven, je zapolnjeno s presledki z uporabo NADOMESTKE:
SUBSTITUTE(B5," ",REPT(" ",99))
S tem se vsak posamezen prostor nadomesti z 99 presledki.
Opomba: 99 je samo poljubno število, ki predstavlja najdaljšo besedo, ki jo morate izluščiti.
Nato funkcija FIND poišče določen znak (v tem primeru "@") v preplavljenem besedilu:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
FIND vrne položaj znaka "@" v tem besedilu, od katerega se odšteje 50. Če odštejemo 50, se položaj dejansko "sprehodi" nekam sredi prostorov pred zanimivim podnizom. V prikazanem primeru je izračunani položaj 366.
Funkcija MAX se uporablja za reševanje težave s podnizom, ki se najprej pojavi v besedilu. V tem primeru bo položaj negativen, MAX pa se uporablja za ponastavitev na 1.
Z vzpostavljenim začetnim poziranjem se MID uporablja za pridobivanje 99 znakov besedila, začenši s 366 iz besedila v B5, spet preplavljenega s prostorom:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
To izvleče podniz, ki nas zanima, z veliko presledki pred in po.
Nazadnje se funkcija TRIM uporablja za obrezovanje vodilnega in zadnjega prostora ter vrne podniz, ki vsebuje poseben znak.