Analysieren einer Textzeichenfolge in Excel

519
Tom Putney

Ich habe die folgenden Textzeichenfolgen in Excel-Zellen und muss den Wert mit dem "%" -Symbol erhalten. Ich habe verschiedene Ansätze mit FIND, MID, LEN, SUBSTITUTE usw. ausprobiert, aber noch keine Lösung gefunden.

99.3SN .7CU 1% LV-1000 ON TAPE (I need "1%")  96.5SN 3AG .5CU .5% LV1000 SPECIAL SHAPE (I need ".5%")  96.5SN 3AG .5CU .5% LV1000 SPECIAL SHAPE (I need ".5%") 96.5SN 3.5AG .75-1% LV-1000 ON TRAY (I need ".75-1%") 92.5PB 5SN 2.5AG .75% LV-1000 (I need ".75%") 

Jede Hilfe, um mich in die richtige Richtung zu weisen, wäre sehr dankbar.

0

2 Antworten auf die Frage

2
bvaughn

Es gibt entweder eine "CU" oder "AG" gefolgt von einem Leerzeichen und einem, %
was wir wollen, sind die Daten nach dem Leerzeichen durch%

Im Folgenden wird gezeigt, wie Sie dies Schritt für Schritt mit nur einer Formel pro Zelle tun. Dies könnte zu einer einzelnen Formel kombiniert werden, aber ich denke, dass dies für jemanden leichter zu befolgen oder zu ändern ist

geht davon aus, dass die Daten in A1, A2, ... sind

in C1:

  • =+IFERROR(FIND("AG",A1),FIND("CU",A1))
    Dadurch wird der Standort der AG oder CU ermittelt

in D1:

  • =+FIND(" ",A1,1+C1)
    Dadurch wird die Position des Raums ermittelt, indem nach einem Raum gesucht wird, der an der zuvor gefundenen AG oder CU beginnt.

in E1:

  • =+FIND("%",A1)
    das findet die%

in F1:

  • =+MID(A1,D1+1,E1-D1)
    Dadurch werden die Daten anhand des Speicherorts und des Speicherorts von% extrahiert.
Warum fängst du alle deine Formeln mit "+" an? Máté Juhász vor 7 Jahren 0
Ich werde oft eine Gleichung in eine benannte Gleichung umwandeln. Dazu kopiere und füge ich sie in den Namensmanager ein. Daher fange ich mit einem + als Gewohnheit an. Ohne + ist es schwieriger, die Maus für das, was kopiert werden muss, richtig zu zentrieren (= xyz ist härter als = + xyz, da es egal ist, ob ich das + nehme, xyz und + xyz funktionieren, = xyz wird funktioniert nicht, da der Namensmanager ein = nach links hat) bvaughn vor 7 Jahren 0
0
Máté Juhász

Sie können dies mit einer einfachen Formel erreichen, nachdem Sie das reg-ex-Add-In installiert haben :

=RegExFind(A1,"[-.0-9]*%")

Danke, danke, danke, Kumpel! Das hat hervorragend funktioniert! Entschuldigung, ich hatte vorher nicht geantwortet. Bei anderen Projekten gewesen. Danke noch einmal! Tom Putney vor 7 Jahren 0
Möchten Sie den VBA-Code hinter der Funktion "RegExFind" freigeben? Ich versuche zu verstehen, wie man Funktionen mit regulären Ausdrücken erstellt und wäre für die Hilfe dankbar. Jede gute Ressource, die Sie empfehlen können, wird ebenfalls geschätzt. Nochmals vielen Dank für Ihre Hilfe. Tom Putney vor 7 Jahren 0
Dieses Add-In wurde nicht von mir geschrieben, daher habe ich auch keinen Zugriff darauf. Ich verstehe Ihre Frage auch nicht wirklich, wenn Sie mehr über reguläre Ausdrücke erfahren möchten, ohne dass Sie den Code sehen müssen. Reguläre Ausdrücke werden in Excel nicht häufig verwendet. Wenn Sie üben möchten, finden Sie möglicherweise weitere Ergebnisse zu notepad ++ Máté Juhász vor 7 Jahren 0