Extrahieren Sie ein ganzes Wort aus einer Zeichenfolge, die einen bestimmten Buchstaben oder ein bestimmtes Zeichen enthält

Extrahieren Sie ein ganzes Wort aus einer Zeichenfolge, die einen bestimmten Buchstaben oder ein bestimmtes Zeichen enthält

Ich möchte aus einer Zelle nur das Wort extrahieren, das 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, dass aus der Spalte (A2:A4) folgende Ergebnisse in der Spalte (B2:B4) hervorgehen.

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)),""))),""),

Wie Sie sehen, funktioniert diese Formel nicht, da sie nur Daten rechts vom Symbol ("=") extrahiert, mit den folgenden Ergebnissen. Ich suche hingegen nach einer Lösung, die das ganze Wort (rechts und links) von der Stelle extrahiert, an der das Symbol ("=") steht.

Antwort1

Versuche FolgendesUserDdefiniertFSalbung(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

Bildbeschreibung hier eingeben

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üge das Material ein und schließe das VBE-Fenster

Wenn Sie die Arbeitsmappe speichern, wird die UDF mit gespeichert. Wenn Sie eine Version von Excel verwenden, die älter als 2003 ist, müssen Sie die Datei als .xlsm und nicht 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

Einzelheiten zu UDFs finden Sie unter:

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

Damit dies funktioniert, müssen Makros aktiviert sein!

BEARBEITEN #1:

Sie können dies tun, ohneVBA, wobei die gleiche Methodik verwendet wurde. Mit Daten inA1, InC1eingeben:

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

und kopieren. Dann inB1eingeben:

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

Bildbeschreibung hier eingeben

Antwort2

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 Sie verwenden, hängt von Ihrer Situation ab. Beispiel: Angenommen, Zelle A1 enthält die Textzeichenfolge: „Kreativität erfordert den Mut, Gewissheiten loszulassen“

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

2. Um die letzten 11 Zeichen der Zeichenfolge zu erhalten, verwenden wir die RIGHT-Funktion: =RIGHT(A1,11) Das Ergebnis ist „certainties“

3. Um 7 Zeichen aus der Zeichenfolge ab Position 10 zu erhalten, verwenden wir die MID-Funktion: =MID(A1,10,7). Das Ergebnis ist „y requi“.

4. Um das erste Wort der Zeichenfolge zu erhalten, verwenden wir die Funktionen LEFT und FIND: =LEFT(A1,(FIND(” “,A1)-1)) Das Ergebnis ist „Kreativität“.

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

verwandte Informationen