
Generisk formel
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(A1," ",REPT(" ",99)))-50),99))
Sammendrag
For å trekke ut et ord som inneholder spesifikk tekst, kan du bruke en formel basert på flere funksjoner, inkludert TRIM, VENSTRE, SUBSTITUT, MID, MAX og REPT. Du kan bruke denne formelen for å trekke ut ting som e-postadresser eller andre underordninger med en unik id.
I eksemplet vist er formelen i C5:
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",99)),MAX(1,FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50),99))
Forklaring
Kjernen: denne formelen "oversvømmer" mellomrommet mellom ord i en tekststreng med et stort antall mellomrom, finner og trekker ut understrengen av interesse, og bruker TRIM-funksjonen til å rydde opp i rotet.
Arbeidet fra innsiden og ut, og den originale teksten i B5 er oversvømmet med mellomrom ved å bruke SUBSTITUTE:
SUBSTITUTE(B5," ",REPT(" ",99))
Dette erstatter hvert enkelt rom med 99 mellomrom.
Merk: 99 er bare et vilkårlig tall som representerer det lengste ordet du trenger å trekke ut.
Deretter finner FIND-funksjonen det spesifikke tegnet (i dette tilfellet "@") inne i den oversvømmede teksten:
FIND("@",SUBSTITUTE(B5," ",REPT(" ",99)))-50
FINN returnerer posisjonen til "@" i denne teksten, hvorfra 50 trekkes fra. Subtrahering 50 "går tilbake" posisjonen effektivt til et sted midt i mellomrommene som går foran substratet av interesse. I det viste eksemplet er den beregnede posisjonen 366.
MAX-funksjonen brukes til å håndtere problemet med at undergrunnen vises først i teksten. I så fall vil posisjonen være negativ, og MAX brukes til å tilbakestille til 1.
Med en startposisjon etablert, brukes MID til å trekke ut 99 tegn med tekst, fra 366 fra teksten i B5, igjen oversvømmet med mellomrom:
MID(SUBSTITUTE(B5," ",REPT(" ",99)),366,99)
Dette trekker ut substringen av interesse, med mange mellomromstegn før og etter.
Til slutt brukes TRIM-funksjonen til å trimme ledende og etterfølgende plass, og returnerer substring som inneholder spesialtegnet.