Excel Sverweis - Suchtext in Zellmatrix finden bei nicht exakter Übereinstimmung?
Hallo zusammen.
ich habe eine Tabelle als Beispiel lauter Automarken, nach ca. folgendem Schema
Name / Kurzname / KM Leistung / Kaufpreis / HU bis xx etc.... BMW M3 / M3 / 150.000 / 6500€ /05.2019 etc.....
Nun gibt es aber Autos wie Renault Laguna Elegance 2.0TdFSi oder so eine Zeug, diesen Text will ich aber nicht in der Suchmaske oben eingeben sondern eben nur Laguna. (Nein es wird nicht 2 mit der gleichen Bezeichnung geben)
Wie kann ich die Sverweis Formel so modifizieren, dass in der gesamten Zelle nach dieser Zeichenfolge gesucht wird und dann aber wie Sverweis die Folgespalten ausgegeben werden als Suchinfo, ich hoffe ist verständlich was ich meine, wenn nicht hänge ich auch gerne noch eine Tabelle mit an.
ich danke schonmal für die Hilfe.
Gruß Gipfelstürmer
2 Antworten
Hallo :)
also, ich hab mal folgenden Aufbau für dich:
Tabelle1 umbenennen in Suche
Tabelle2 umbenennen in Matrix
Tabelle1 wird so formatiert:
A1= Suchbegriff
In B2 wird der Suchbegriff eingegeben
A7=Ergebnis
A8=Name; B8=Kurzname; C8=KM Leistung; D8=Kaufpreis; E8=Hu bis...
WICHTIG!
Alle Formeln können kopiert und nach unten gezogen werden! Tu dies bitte für die Anzahl an Maximalen Ergebnissen in der Such-Tabelle die du haben möchtest und in der Matrix Tabelle bis zum Ende deiner Matrix oder bis zum Ende des Dokumentes!
A9 folgende Formel:
=WENNFEHLER(INDEX(Matrix.$C:$C;VERGLEICH(ZEILE()-8;Matrix.$B:$B;0));"")
B9 folgende Formel:
=WENNFEHLER(INDEX(Matrix.$D:$D;VERGLEICH(ZEILE()-8;Matrix.$B:$B;0));"")
C9 folgende Formel:
=WENNFEHLER(INDEX(Matrix.$E:$E;VERGLEICH(ZEILE()-8;Matrix.$B:$B;0));"")
D9 folgende Formel:
=WENNFEHLER(INDEX(Matrix.$F:$F;VERGLEICH(ZEILE()-8;Matrix.$B:$B;0));"")
E9 folgende Formel:
=WENNFEHLER(INDEX(Matrix.$G:$G;VERGLEICH(ZEILE()-8;Matrix.$B:$B;0));"")
__________________________________________________
Tabelle2 wird so formatiert:
A2 folgende Formel:
=WENNFEHLER(WENN(SUCHEN($Suche.$B$3;C3;)>0;1;"");"")
Formel nach unten kopieren bis zum ende der Matrix
B2 folgende Formel:
=WENN(A2="";"";ZÄHLENWENN($A$2:A2;1))
Formel nach unten kopieren bis zum ende der Matrix
C1=Name; D1=Kurzname; E1=KM Leistung; F1=Kaufpreis; G1=HU bis...
Wenn du das so übernimmst, kannst du in dein Suchfeld in der Tabelle Suche B2 Lagu eingeben und die Infos deines Autos erscheinen.
Falls du jetzt 2x einen Lagu hast, Laagux1 Lagux2 tauchen sogar beide auf.
Grüße,
iMPerFekTioN
P.s. wenn du willst, das deine Suche Live funktioniert, sprich bei Eingabe eines Zeichens gleich los sucht, ohne die Eingabetaste zudrücken, kannst du gerne kurz antworten, dann erklär ich dir schnell, wie du eine Live-Suche deiner Matrix in deine Tabelle einbauen kannst :)
Melde dich dann nochmal!
Like den Kommentar das ich auch sehe das du geantwortet hast :)
ist wohl irgendwie verloren gegangen, aber ja hatte damals funktioniert, da ich aktuell alle alten Fragen durchgehe, bin ich nochmal drüber gestoßen, heutzutage würde ich das mit
=FILTER(A2:E100;ISTZAHL(SUCHEN(H1;A2:A100));""),
lösen, dennoch wäre ich auch heute noch an deiner Variante mit sofortigem suchen interessiert.
Mir käme da Spontan nur der Umweg über ein bedingtes Dropdown
Servus, wenn du über die Formularen Steuerlemente eine Texbox einfügst und diese mit der Suchzelle verknüpfst, wird nach eingabe direkt gesucht, ohne die Eingabe zu bestätigen:)
Du kannst sowohl im SVerweis() wie im Vergleich() und weiteren sog. Wildcards verwenden. Suche nach "*Laguna*".
Das * steht für beliebig viele (auch gar kein) Zeichen, daneben noch das ? für genau 1 Zch.
Du könntest zB auch so suchen:
"*Lagu*2.?Td*"
nur als Beispiel, wie man das kombinieren kann. (Das Fragezeichen steht also für das eine Zeichen zwischen 2. und TD (da darf dann aber zwischen 0 und TD kein Leerzeichen sein
Das geht allerdings nur für die Variante FALSCH=0, also exakter Treffer in ungeordneten Listen (wobei es keine Rolle spielt, ob die Liste faktisch nicht vllt doch geordnet ist).
Groß/klein wird ignoriert.
Man kann so einen Begriff auch aus Zellbezügen zusammensetzen:
A1 sei Laguna, A2 sei 2.0, dann:
="*"&A1&"*"&A2&"*" (das sucht also den String ...Laguna...2.0...)
Hab mir Deine Vorgaben nochmals angeschaut, das verwirrt mich ein wenig:
Ist der Kurzname schon in einer eigenen Spalte B? Was ist dann das Problem? da funktioniert doch der SVerweis?
wenn Du per Kurzname den Langnamen auslesen willst und in dem ist der Kurzname enthalten, dann funktioniert meine Formel, sofern sie woanders steht (und keinesfalls oberhalb in Spalte A oder B).
Mit dem SVerweis kannst du allerdings nur mit einem für die Hirnwindungen sehr gewöhnungsbedürftigen Befehl was links davon auslesen, das ginge dagegen mit Index/Vergleich:
=index(A:A;Vergleich("Kurzname":B:B;0)) auch hier kann der Kurzname aus Teilen und Lücken zusammengesetzt sein nach obigem Schema.
entschuldige, dass ich damals nie auf einen Beitrag reagiert habe, mein Problem war, dass manchmal die Namen oder auch Kurznamen zu unübersichtlich sind und auch das Potential für Schreibfehler bilden, gerade bei Ausländischen Marken. Da eben zu 100% Korrekt der Namen egal welcher Spalte jetzt eingegeben werden muss, um es mal zu überspitzen in meiner Frage damals wollte ich quasi, dass wen ich "BM" eingebe das auch LANGE "BMW" aufgelistet wird, daher waren die obigen Ansätze mit Suchen/Finden nicht ganz so verkehrt.
Wie oben bereits ergänzt würde ich das Problem heute in wenigen Sekunden lösen, aber damals war ich 1. noch nicht so fit 2. ging das noch nicht so einfach, da Funktionen wie Filter() noch vollkommen unbekannt waren.
Danke schaue ich mir zu Hause dann an.