Excel-formel: Uddrag ord, der begynder med et bestemt tegn -

Indholdsfortegnelse

Generisk formel

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

Resumé

For at udtrække ord, der begynder med et bestemt tegn, kan du bruge en formel, der er baseret på seks funktioner: TRIM, VENSTRE, SUBSTITUT, MID, LEN og REPT. Denne tilgang er nyttig, hvis du har brug for at udtrække ting som et Twitter-brugernavn fra en celle, der indeholder anden tekst.

I det viste eksempel er formlen i C5:

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

Forklaring

Startende indefra og ud, bruges MID-funktionen til at udtrække al tekst efter "@":

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

FIND-funktionen giver startpunktet, og for at få samlet antal tegn, bruger vi bare LEN på den originale tekst. Dette er lidt sjusket, men det undgår at skulle beregne det nøjagtige antal tegn, der skal ekstraheres. MID er ligeglad med, om dette tal er større end de resterende tegn, det udtrækker simpelthen al tekst efter "@".

Dernæst "oversvømmer" vi den resterende tekst med mellemrumstegn ved at erstatte ethvert enkelt mellemrum med 100 mellemrum ved hjælp af en kombination af SUBSTITUTE og REPT:

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

Dette virker skør, men logikken bliver tydelig nedenfor.

Dernæst for at udtrække det ord, vi ønsker (dvs. @word), bruger vi VENSTRE til at udtrække de første 100 tegn fra venstre. Dette får os "@word" plus mange ekstra mellemrum. For at visualisere repræsenterer bindestregerne nedenunder mellemrum:

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

Nu skal vi bare fjerne alle ekstra mellemrum. Til det bruger vi TRIM-funktionen.

Bemærk: 100 repræsenterer det længste ord, du forventer at finde, der begynder med specialtegnet. Forøg eller formindsk efter dine behov.

Har du en bedre måde at gøre dette på? Lad mig vide i kommentarerne nedenfor!

Interessante artikler...