Excel-formule: extraheer woord dat begint met een specifiek teken -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om woorden te extraheren die met een specifiek teken beginnen, kunt u een formule gebruiken die is gebaseerd op zes functies: TRIM, LEFT, SUBSTITUTE, MID, LEN en REPT. Deze benadering is handig als u zaken als een Twitter-gebruikersnaam wilt extraheren uit een cel die andere tekst bevat.

In het getoonde voorbeeld is de formule in C5:

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

Uitleg

Beginnend van binnen naar buiten, wordt de MID-functie gebruikt om alle tekst achter "@" te extraheren:

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

De FIND-functie biedt het startpunt en om het totale aantal tekens te extraheren, gebruiken we LEN voor de originele tekst. Dit is een beetje slordig, maar het voorkomt dat het exacte aantal tekens moet worden berekend om te extraheren. Het kan MID niet schelen of dit nummer groter is dan de resterende tekens, het extraheert eenvoudig alle tekst na "@".

Vervolgens "overspoelen" we de resterende tekst met spaties door een enkele spatie te vervangen door 100 spaties met een combinatie van SUBSTITUTE en REPT:

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

Dit lijkt gek, maar de logica wordt hieronder duidelijk.

Om vervolgens alleen het gewenste woord te extraheren (bijv. @Woord), gebruiken we LINKS om de eerste 100 tekens van links te extraheren. Dit levert ons "@word" op, plus veel extra spaties. Om dit te visualiseren vertegenwoordigen de onderstaande koppeltekens spaties:

@woord---------------------

Nu hoeven we alleen nog maar alle extra spaties te verwijderen. Daarvoor gebruiken we de TRIM-functie.

Opmerking: 100 staat voor het langste woord dat u verwacht te vinden en dat begint met het speciale teken. Verhogen of verlagen om aan uw behoeften te voldoen.

Heeft u een betere manier om dit te doen? Laat het me weten in de reacties hieronder!

Interessante artikelen...