Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeichenkette aus Vergleichsmatrix finden

Zeichenkette aus Vergleichsmatrix finden
13.05.2021 20:27:03
Martin
Hallo liebes Forum,
ich gebe es zu, bei diesem Problem weiß ich noch nicht einmal, ob es überhaupt mit Excel zu lösen ist. Was ist eure Meinung?
Die Testdaten findet ihr hier: https://www.herber.de/bbs/user/146165.xlsx
Aus Zellen mit völlig unbestimmten Zeichenketten (Text) sollen die Teile gefunden und ausgegeben werden, die in einer Vergleichsmatrix vorkommen.
Kann das Excel? Ich probiere auch gern selbst, wäre aber für einen Hinweis dankbar. Meine Kenntnisse bewegen sich auf dem Niveau von SVERWEIS, FINDEN, SUCHEN, ISTFEHLER, ISTZAHL - damit bin ich aber nicht ans Ziel gekommen.
Danke und viele Grüße,
Martin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
13.05.2021 22:11:18
Yal
Hallo Martin,
wenn der gesuchten Text genau diese Muster hat, dann den Abstand zwischen ersten und zweiten x suchen. Wenn 3, abschneiden:

=WENN((FINDEN("x";A2;FINDEN("x";A2)+1)-FINDEN("x";A2))=3;TEIL(A2;FINDEN("x";A2)-2;8);"")
Ansonsten würden es am einfachsten mit einer User Defined Function (UDF), spricht eine in VBA hergestellte Excel-Formel.
Da muss Du sagen, falls Lösung 1 nicht passt, ob Du dich traust, eine UDF einzusetzen.
VG
Yal
AW: Zeichenkette aus Vergleichsmatrix finden
13.05.2021 22:26:52
Yal
Hallo MArtin,
die UDF würde so aussehen:

Public Function InstrMulti(Target, Liste) As String
Dim Z
For Each Z In Liste.Cells
If InStr(1, Target.Value, Z.Value, vbTextCompare) Then
InstrMulti = Z.Value
Exit Function
End If
Next
End Function
(muss in eine Modul in VB-Editor abgelegt werden, nicht in der Codepane von Tabelle1)
Dann würde man in der Tabelle die Formel
=InstrMulti(A2;$D$2:$D$7)
VG
Yal
verwenden
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
13.05.2021 23:16:48
Martin
Hallo Yal,
hab vielen Dank. Nein, leider sind die Zeichenketten nicht so homogen, wie ich das fälschlich in den Testdaten vorgegeben hatte. Was stimmt, sind die "x". Die "Terme", die diese x verbinden, können aber neben Ziffern auch bestehen aus Buchstaben (andere als x bzw. X) und Kommata, also z.B. 33x44,44x555ABC. Danach kommt entweder nichts mehr oder ein LEERZEICHEN oder ein |
Die UDF habe ich probiert, kenne mich damit aber nicht aus. Leider kommt für die Zeile "For Each Z In Liste.Cells" ein Laufzeitfehler "Argument ist nicht optional." Ich muss dazu sagen, dass ich bis Montag nur LibreOffice Calc zur Verfügung habe, um das zu testen. Falls das einen Unterschied macht bzw. der Grund sein sollte für den Laufzeitfehler.
Viele Grüße,
Martin
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 12:15:53
Herbert_Grom
Hallo Martin,
warum gibst du uns dann nicht Beispiele, die die extremen Muster darstellen, von bis? Außerdem braucht Excel irgendwelche Parameter, die es checken kann, denn Hellsehen kann auch Excel nicht!
Servus
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 12:29:23
Martin
Hallo Herbert,
ja, da habe ich eine Fehler gemacht. Ich habe die Testdaten aktualisiert. Sie sind jetzt so komplex, wie die Realdaten: https://www.herber.de/bbs/user/146177.xlsx
Ist das lösbar?
Viele Grüße,
Martin
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 12:12:57
Ralf
Hallo Martin,
Wenn die umgebenden Terme nie ein x enthalten und die Suchterme immer dem Format **x**x** entsprechen, sollte das hier funktionieren.

=WENN(ISTFEHLER(SVERWEIS(TEIL(A2;FINDEN("x";A2)-2;8);D:D;1;FALSCH))=WAHR;"";SVERWEIS(TEIL(A2; FINDEN("x";A2)-2;8);D:D;1;FALSCH)) 
Wenn Du das in B2 setzt und dann einfach runter kopierst sollte es bei Treffern den entsprechenden **x**x** Wert ausgeben und ansonsten das Feld einfach leer lassen.
Grüße Ralf
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 12:32:00
Martin
Hallo Ralf,
hab Dank für deine Lösung, die mit den ursprünglichen Testdaten auch funktioniert. Leider sind die Realdaten aber deutlich komplexer, das habe ich zu einfach dargestellt. Die neuen Testdaten findest du unter https://www.herber.de/bbs/user/146177.xlsx falls du es noch einmal versuchen möchtest.
Danke und viele Grüße,
Martin
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 16:03:45
Ralf
Hallo Martin,
gerne doch, zwei Rückfragen noch zu den neuen Testdaten:
1. Zelle B3 ist ein Fheler die sollte leer sein. Sehe ich das richtig?
2. kommt vor dem "|" immer ein " " oder kann das auch fehlen?
Grüße Ralf
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 18:13:38
Martin
Hallo Ralf,
ja, wenn's schnell gehen soll ;-) B3 soll nicht leer sein, ist ein Fehler.
Vor dem "|" kommt immer ein Leerzeichen.
Bin gespannt, wie du das löst.
Viele Grüße,
Martin
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 17:50:15
Ralf
Versuch mal:

=WENN(ISTFEHLER(SVERWEIS(TEIL(A2;FINDEN("=";A2)+1;WENN(ISTZAHL(FINDEN(" ";A2;(FINDEN("=";A2)+1))); FINDEN(" ";A2;(FINDEN("=";A2)+1));WENN(ISTZAHL(FINDEN("|";A2;(FINDEN("=";A2)+1)));FINDEN("|";A2; (FINDEN("=";A2)+1));LÄNGE(A2)+1))-(FINDEN("=";A2)+1));D:D;1;FALSCH));"FEHLT";SVERWEIS(TEIL(A2; FINDEN("=";A2)+1;WENN(ISTZAHL(FINDEN(" ";A2;(FINDEN("=";A2)+1)));FINDEN(" ";A2;(FINDEN("=";A2)+1)); WENN(ISTZAHL(FINDEN("|";A2;(FINDEN("=";A2)+1)));FINDEN("|";A2;(FINDEN("=";A2)+1));LÄNGE(A2)+1)) -(FINDEN("=";A2)+1));D:D;1;FALSCH)) 
Unter https://www.herber.de/bbs/user/146190.xlsx findest Du Deine Datei mit zusätzlichen Formeln drin. In den Spalten H bis N habe ich die Teilschritte in kleinen Formeln eingefügt. In Spalte O dann alles zusammen und in Spalte P das ganze zusammen mit einem Istfehler check der das hässliche "#NV" ausblendet.
Mit Hilfe der Einzelformeln kannst Du es vermutlich auch selbst noch ein wenig anpassen.
Grüße Ralf
Anzeige
AW: Zeichenkette aus Vergleichsmatrix finden
14.05.2021 18:17:42
Martin
Wahnsinn, was für ein Aufwand. Vielen Dank für deine Mühe. Funktioniert 1A und aufgrund der Lösungsschritte ist das Vorgehen auch super nachvollziehbar!
Hab ein schönes Wochenende, Ralf!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige