Excel-formel: Pakk ord som begynner med spesifikt tegn -

Innholdsfortegnelse

Generisk formel

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Sammendrag

For å trekke ut ord som begynner med et bestemt tegn, kan du bruke en formel basert på seks funksjoner: TRIM, VENSTRE, SUBSTITUT, MID, LENN og REPT. Denne tilnærmingen er nyttig hvis du trenger å trekke ut ting som et Twitter-brukernavn fra en celle som inneholder annen tekst.

I eksemplet vist er formelen i C5:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Forklaring

Med start fra innsiden og ut, brukes MID-funksjonen til å trekke ut all tekst etter "@":

MID(B5,FIND("@",B5),LEN(B5))

FINN-funksjonen gir startpunktet, og for at totalt antall tegn skal trekkes ut, bruker vi bare LEN på originalteksten. Dette er litt slurvet, men det unngår å måtte beregne det nøyaktige antall tegn som skal trekkes ut. MID bryr seg ikke om dette tallet er større enn de resterende tegnene, det trekker ganske enkelt ut all tekst etter "@".

Deretter "oversvømmer" vi den gjenværende teksten med mellomromstegn, ved å erstatte et enkelt mellomrom med 100 mellomrom ved hjelp av en kombinasjon av SUBSTITUTE og REPT:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Dette virker gal, men logikken blir tydelig nedenfor.

Deretter, for å trekke ut bare ordet vi vil ha (dvs. @word), bruker vi VENSTRE for å trekke ut de første 100 tegnene fra venstre. Dette får oss "@word", pluss mange ekstra mellomrom. For å visualisere representerer bindestrekene mellomrom:

@ord---------------------

Nå trenger vi bare å fjerne alle ekstra mellomrom. For det bruker vi TRIM-funksjonen.

Merk: 100 representerer det lengste ordet du forventer å finne som begynner med spesialtegnet. Øk eller reduser for å dekke dine behov.

Har du en bedre måte å gjøre dette på? Gi meg beskjed i kommentarene nedenfor!

Interessante artikler...