
Üldine valem
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Kokkuvõte
Konkreetset teksti sisaldava sõna eraldamiseks võite kasutada valemit, mis põhineb mitmel funktsioonil, sealhulgas TRIM, LEFT, SUBSTITUTE, MID, MAX ja REPT. Selle valemi abil saate ekstraktida näiteks e-posti aadresse või muid ainulaadse ID-ga alamstringi.
Näidatud näites on valem C5-s:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Selgitus
Põhisisu: see valem "ujutab" suure hulga tühikutega tekstistringi sõnadevahelise ruumi üles, leiab ja eraldab huvipakkuva alamstringi ning kasutab segaduse puhastamiseks funktsiooni TRIM.
Seestpoolt edasi töötades on B5 originaaltekst tühikutega, kasutades SUBSTITUTE:
SUBSTITUTE(B5," ",REPT(" ",99))
See asendab iga üksiku ruumi 99 tühikuga.
Märkus: 99 on lihtsalt suvaline number, mis tähistab pikimat sõna, mille peate välja võtma.
Järgmisena otsib funktsioon FIND konkreetse märgi (antud juhul "@") üleujutatud teksti sees:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
FIND tagastab selles tekstis "@" positsiooni, millest lahutatakse 50. Lahutades 50, "kõnnitakse tagasi" asukohta huvipakkuva alamstringile eelnevate ruumide keskel. Näidatud näites on arvutatud positsioon 366.
Funktsiooni MAX kasutatakse tekstis esimesena ilmuva alamstringi probleemi lahendamiseks. Sel juhul on positsioon negatiivne ja MAX-i kasutatakse lähtestamiseks väärtusele 1.
Kui algpositsioneerimine on loodud, kasutatakse MID-i, et B5-s olevast tekstist eraldada 99 tähemärki, mis algavad 366-st tekstist, jälle üle ruumi:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
See eraldab huvipakkuva alamstringi, enne ja pärast on palju tühimärke.
Lõpuks kasutatakse funktsiooni TRIM ruumi eesmise ja tagaosa kärpimiseks ning tagastatakse erimärki sisaldav alamstring.