2017-10-22 3 views
1

Ich habe diese Formel, um ein bestimmtes Wort zu extrahieren, das mit einem gegebenen Zeichen "@" beginnt. Es funktioniert gut, aber es gibt mehr Wörter, die mit dem gleichen beginnen, es wird nur das erste Wort extrahieren.Extrahieren Sie mehrere Wörter, die mit bestimmten Zeichen beginnen EXCEL

Wie kann man alles extrahieren?

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

Probe unter:

Seq Desc        extracted 
1 text @word       @word 
2 text @word_one and @word_two  @word_one 
+0

Versuchen Sie diese Antwort: [Regex in Excel] (https://stackoverflow.com/questions/22542834/how- to-use-reguläre Ausdrücke-Regex-in-Microsoft-Excel-beide-in-Zelle-und-Schleifen) –

+0

Welche Version von Excel? –

+0

Und wollen Sie die Ergebnisse in einer einzelnen Zelle, mit einer Art Trennzeichen? Oder in mehreren Zellen? –

Antwort

0

diese Formel Versuchen. Es ist eine leichte Änderung Ihrer Formel. Er sucht nach dem ersten @ -Zeichen, ersetzt es durch ~~ und extrahiert das enthaltene Wort. Dann sucht es nach dem zweiten @ -Zeichen und macht dasselbe.

=CONCATENATE(TRIM(LEFT(SUBSTITUTE(MID(B3,FIND("~~",SUBSTITUTE(B3,"@","~~",1)),LEN(B3))," ",REPT(" ",100),1),100)),",",TRIM(LEFT(SUBSTITUTE(MID(B3,FIND("~~",SUBSTITUTE(B3,"@","~~",2)),LEN(B3))," ",REPT(" ",100),1),100))) 

enter image description here

Wenn Sie mit 3. Auftreten dritten @ Wort hinzufügen zu extrahieren, fügen Sie einfach eine andere Instanz CONCATENATE, und ersetzen Sie diese IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B4,FIND("~~",SUBSTITUTE(B4,"@","~~",2(for third word replace value 2 with 3)),LEN(B4)) Teil der Formel möchten. Verwenden Sie diese Formel, um 3 Werte zu extrahieren. (Ich habe IFERROR Teil nur für den Fall Wort @ nicht gefunden)

=CONCATENATE(IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B4,FIND("~~",SUBSTITUTE(B4,"@","~~",1)),LEN(B4))," ",REPT(" ",100),1),100)),""),",",IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B4,FIND("~~",SUBSTITUTE(B4,"@","~~",2)),LEN(B4))," ",REPT(" ",100),1),100)),""),",",IFERROR(TRIM(LEFT(SUBSTITUTE(MID(B4,FIND("~~",SUBSTITUTE(B4,"@","~~",3)),LEN(B4))," ",REPT(" ",100),1),100)),"")) 

enter image description here

Verwandte Themen