Extrahieren Sie ein ganzes Wort aus einem String, der einen bestimmten Buchstaben oder ein bestimmtes Zeichen enthält

2324
user498469

Ich möchte nur das Wort aus einer Zelle extrahieren, die ein bestimmtes Zeichen ("=") im Text enthält.

A2: Dolly made me a homemade=cake and some muffins A3: we had cheese=cake for dinner A4: Everyone loves how the bakery makes some awesome=cakes 

Ich möchte Folgendes in Spalte (A2: A4), um in Spalte (B2: B4) die folgenden Ergebnisse zu liefern.

B2: homemade=cake B3: cheese=cake B4: awesome=cakes 

Ich habe die folgende Lösung mit Arbeitsblattfunktionen ausprobiert.

A2: Johnny made his own dinner=lastnight and then cleaned the kitchen  =TRIM(TRIM(IFERROR(RIGHT(SUBSTITUTE(LEFT(A2,SEARCH(" ",A2&" ",SEARCH("=",A2))-1)," ",REPT(" ",LEN(A2))),LEN(C246)),""))),""), 

Diese Formel funktioniert nicht, wie Sie vielleicht sehen, da sie nur Daten rechts vom Symbol ("=") mit den folgenden Ergebnissen extrahiert. Dabei suche ich nach einer Lösung, die das ganze Wort (rechts und links) des Symbols ("=") extrahiert.

3
`C3:` oder B4: `? Ihre Frage ist inkonsistent. DavidPostill vor 8 Jahren 0
`sed -r 's /.* \ b ([^ \ t] + = [^ \ t] +) \ b. * / \ 1 /'` .. Entschuldigung, ich konnte nicht widerstehen. Peter Schneider vor 8 Jahren 2

2 Antworten auf die Frage

1
Gary's Student

Versuchen Sie, die folgende U ser D efined F unktion (UDF)

Public Function Equals(inpt As String) As String Equals = "" ary = Split(Application.WorksheetFunction.Trim(inpt), " ") For Each a In ary If InStr(1, a, "=") > 0 Then Equals = a Exit Function End If Next a End Function 

enter image description here

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:

  1. ALT-F11 öffnet das VBE-Fenster
  2. ALT-I ALT-M öffnet ein neues Modul
  3. Fügen Sie das Zeug ein und schließen Sie das VBE-Fenster

Wenn Sie die Arbeitsmappe speichern, wird die UDF damit gespeichert. Wenn Sie später als 2003 eine Version von Excel verwenden, müssen Sie die Datei als .xlsm statt als .xlsx speichern

So entfernen Sie die UDF:

  1. Öffnen Sie das VBE-Fenster wie oben
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

So verwenden Sie die UDF aus Excel:

= gleich (A1)

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

und

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

und Einzelheiten zu UDFs finden Sie unter:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

Makros müssen aktiviert sein, damit dies funktioniert!

EDIT # 1:

Sie können dies ohne VBA mit derselben Methode tun . Bei Daten in A1 geben Sie in C1 ein:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999)) 

und rüber kopieren. Dann in B1 eingeben:

=INDEX(C1:IV1,MATCH("*=*",C1:IV1,0)) 

enter image description here

-1
Bekzod Buranov

Excel verfügt über eine Reihe von Textfunktionen, mit denen Sie ein Wort oder einen Text aus einer anderen Textzeichenfolge extrahieren können. Welche Funktion oder Kombination von Funktionen verwendet wird, hängt von Ihrer Situation ab. Beispiel: Angenommen, Zelle A1 enthält die Textzeichenfolge: "Kreativität erfordert den Mut, Sicherheiten loszulassen."

1. Um die ersten 5 Zeichen der Zeichenfolge zu erhalten, verwenden wir die LEFT-Funktion: = LEFT (A1,5) Das Ergebnis ist "Creat".

2. Um die letzten 11 Zeichen der Zeichenfolge zu erhalten, verwenden wir die RECHTE Funktion: = RECHTS (A1, 11). Das Ergebnis ist "Sicherheit".

3. Um 7 Zeichen aus der Zeichenkette zu erhalten, die mit Position 10 beginnt, verwenden wir die MID-Funktion: = MID (A1,10,7) Das Ergebnis ist "y requi".

4. Um das erste Wort des Strings zu erhalten, verwenden wir die Funktionen LEFT und FIND: = LEFT (A1, (FIND ("", A1) -1)) Das Ergebnis ist "Creativity".

- Weitere Informationen finden Sie unter: http://www.exceldigest.com/myblog/2009/02/01/how-to-extract-text-von-another-text-string/#sthash.yNDHU7Xe.dpuf