Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formel für Teile eines Strings
#1
Hallo Miteinander,

ich stehe vor einer sehr komplexen Aufgabe: Aus einem sehr umfassenden String benötige ich unterschiedlichste Informationen. Anbei ein Screenshot. Von diesen Strings habe ich insgesamt mehrere Tausend, bei denen ich die in fett markierten Informationen sauber trennen muss. Habt ihr ne Idee, welche Formeln ich anwenden muss?

LG Felix    
Antwortento top
#2
Hallo Felix,

die hinteren Spalten müsten über Textfunktionen ermittelbar sein, da die Werte im Text hinter der Kennung mit "=" und "&" eingeschlossen sind.
Aber gibt es auch eine Regel das Produkt zu ermitteln?
Wenn ja, beschreibe sie einmal und stelle eine Datei mit einigen Beispieldaten zur Verfügung.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antwortento top
#3
Hi Ego,

bei Produkt kann entweder "1w", "tv" oder "im" stehen. Eine Frage zu den Textfunktionen. Wie würden diese denn aussehen? Anbei mal das Blatt.

LG Felix


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 9,58 KB / Downloads: 6)
Antwortento top
#4
Hallo,

Vielleicht passt das ja:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFG
1 ProductCampaigndytidgmailfn
2x,,,AX47a7e547b1854599972baa3bb8ef7e45,1x-SEMFB-ms_root,false,,"Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-G920F/G920FX Build/MMB29K) AppleWebKit/597.76 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome Mobile

Safari/537.36",2,1w,de,cGF0cmljaWEuc0BnbWFpbC5jb20(,UGF0cmljaWE?utm_campaign=de1sd01&dytid=Asdfsd7b1854599972baa3bb8ef7e45&g=w&mail=test123&fn=testermann
1wde1sd01Asdfsd7b1854599972baa3bb8ef7e45wtest123testermann

ZelleFormel
B2=TEIL(A2;SUCHEN("#";WECHSELN(A2;",";"#";10))+1;SUCHEN("#";WECHSELN(A2;",";"#";11))-SUCHEN("#";WECHSELN(A2;",";"#";10))-1)
C2=LINKS(TEIL(A2;SUCHEN("gn=";A2)+3;99);SUCHEN("&";TEIL(A2;SUCHEN("gn=";A2)+3;99))-1)
D2=LINKS(TEIL(A2;SUCHEN("tid=";A2)+4;99);SUCHEN("&";TEIL(A2;SUCHEN("tid=";A2)+4;99))-1)
E2=LINKS(TEIL(A2;SUCHEN("&g=";A2)+3;99);SUCHEN("&";TEIL(A2;SUCHEN("&g=";A2)+3;99))-1)
F2=LINKS(TEIL(A2;SUCHEN("mail=";A2)+5;99);SUCHEN("&";TEIL(A2;SUCHEN("mail=";A2)+5;99))-1)
G2=LINKS(TEIL(A2;SUCHEN("fn=";A2)+3;99);99)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg


für Product noch das:

=WENNFEHLER(TEIL(A2;WENNFEHLER(SUCHEN(",1w,";A2);WENNFEHLER(SUCHEN(",im,";A2;A2);SUCHEN(",tv,";A2)))+1;2);"--")
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antwortento top
#5
Hallo Felix,

in Formeln ist der Opa einfach unschlagbar. Hatte mich nur gewundert, warum er noch nicht geantwortet hatte.

Wenn "fn" nicht immer das letzte Schlüsselwort ist, müsten die Formeln noch leicht überarbeitet werden.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antwortento top
#6
Hi,

Zitat:Hatte mich nur gewundert, warum er noch nicht geantwortet hatte.

ich darf ab und zu auch mal arbeiten.

Wenn fn nicht den Schluß bildet:

=LINKS(TEIL(A2;SUCHEN("fn=";A2)+3;99);SUCHEN("&";TEIL(A2&"&";SUCHEN("fn=";A2)+3;99))-1)
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antwortento top
#7
Hallo Felix,

anbei deine Beispieldatei mit einer Makro Lösung zurück.  Und herzliche Grüsse an Opa Edgar. Da können sich zwei Opas die Hand geben.

Formel Lösungen sind sicher sinnvoll, haben leider aber auch einen Nachteil.  Bei grossen Mengen können sie den PC langsam machen. Bei einem Makro gibt es diesenNachteil nicht. Das berechnet einmal die Sache, dann ist Ruhe!  Dafür muss die Datei als .xlsm gspeichert werden. Will man das vermeiden kannst du das zerlegen von Originaldaten auch in der Beispiel ausführen lassen, und kopierst die fertige Tabelle in deine Originaldatei.

Schön das es jetzt mehrere Lösungen gibt, dann hat man die freie Auswahl

mfg  Gast 123


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 17,52 KB / Downloads: 1)
Antwortento top
#8
Hallo,


Zitat:Bei grossen Mengen können sie den PC langsam machen

Das kann man so nicht sagen. Es gibt Formeln, die nur geringen Einfluß auf die Geschwindigkeit haben, andere dafür umso mehr.
VBA-Lösungen sind in sehr vielen Fällen deutlich langsamer als Formeln.
Zudem ist es in vielen Fällen einfacher, eine Formel zu erstellen, als ein VBA-Konstrukt zu entwerfen.
Eine Formel wird geschrieben und rechnet. VBA muß ich erst einmal anstoßen.
Es gibt zwar Leute wie snb, die in einem Einzeiler das abarbeiten, wofür andere eine halbe Seite Makro brauchen, aber da sind dann auch sehr häufig Excel-Funktionen in der VBA-Version im Einsatz.
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antwortento top
#9
Hallo BoskoBiati,

weltklasse, so klappt es!!! Und auch dem Rest danke. War meine erste Frage hier. Vielen dank für eure Hilfe.

LG Felix
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste