Clever-Excel-Forum

Normale Version: Index + Vergleich für mehrere Sucheingaben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe mir (mit prima Tutorials aus dem Netz) die Möglichkeit erarbeitet, mit Index und Vergleich eine Suche nach (Pseudo-)Kunden in einer Tabelle durchzuführen. Die Beispieldatei Suchen.xlsx ist im Anhang.

In Zelle J4 kann ich eine gültige Kundennummer eingeben, in Zeile 20 bekomme ich die Kundendaten zur Kundennummer.

Nun könnte ein Kunde anrufen, der seine Kundennummer nicht kennt, und ich müsste ihn z. B. über seinen Nachnamen suchen. Und hier verlasse ich das Reich meiner frisch erworbenen Kenntnisse.

Theoretisch müsste ich in den Zellen A20 bis G20 einen zweiten Zellbezug herstellen, also neben J4 auch zu J8. Ich hab's mit ODER() versucht, aber das hat nicht geklappt.

1. Frage: Wie müsste ich vorgehen, wenn ich entweder nach Kundennummer oder Name suchen und jeweils in Zeile 20 die kompletten Kundendaten sehen möchte?

2. Frage: Ließe sich die Suche auch mit einem einzigen Eingabefeld verwirklichen?

3. Frage: Wie muss ich vorgehen, um alle Kunden anzuzeigen, die denselben Namen tragen? Die Kundennummer ist ja unique, die Namen ganz sicher nicht.

Vermutlich bin ich mit dem jetzigen Vorgehen auf dem Holzweg, aber ich freue mich über Antworten, die meinen Horizont erweitern. Shy

Herzlichen Dank und Gruß
Felix
Hallo,

Code:
=WENNNV(INDEX($A$4:$I$14;VERGLEICH($J$4;$A$4:$A$14;0);SPALTE(A5));WENNNV(INDEX($A$4:$I$14;VERGLEICH($J$8;$C$4:$C$14;0);SPALTE(A5));"-"))
Hallo
hier mal eine Version mit Auswahl der Suchspalte & Mehrfachtreffer
Gruß Holger
Vielen Dank Euch beiden schon mal für die schnellen Antworten!

Ich werde mich heute Abend, spätestens aber morgen damit auseinandersetzen.
Hallo

Warum Eingabe Felder? Warum Formeln?
Hier würde ein Datenschnitt völlig ausreichen.
Guten Morgen,

ich habe mich mit allen drei Varianten beschäftigt.

@Gastlich: Diese Formel war für mich leicht zu verstehen und zu erweitern. Damit ist meine erste Frage beantwortet.

@echo: Dein Vorschlag beantwortet meine zweite Frage. Besser gesagt, er würde sie beantworten, wenn ich die Formel verstehen würde. Wink Mein Wissensstand reicht dazu noch nicht, ich werde mir "AGGREGAT" und "BEREICH.VERSCHIEBEN" erarbeiten. Zumindest habe ich hier schon mal ein prima Beispiel.

@PIVPQ: Ja, der Wald und die Bäume, da waren sie wieder. Der Datenschnitt ist mir bereits bei einer Übung zu Pivot-Tabellen begegnet, aber auf dem Schirm hatte ich ihn nicht mehr. Also habe ich mir noch mal ein Tutorial dazu angeschaut, und nachdem ich in Vorbereitung eine Tabelle über meinem Datensatz angelegt hatte, fiel es mir wie Schuppen von den Augen: Die Autofilter für die einzelnen Spalten gibt's ja auch noch. Wink

Die Autofilter bieten alles, was ich mir erarbeiten wollte. Und ein riesiger Vorteil: Man kann darin eine inkrementelle Suche durchführen. Diese extrem hilfreiche Bedingung fehlt nämlich bei allen obigen Beispielen – mit dem Eintippen eines Teils des Suchwortes kann man dort nicht arbeiten.

Dass die inkrementelle Suche bei einem Datensatz mit zehntausenden Kunden unverzichtbar sein wird, wurde mir bereits gestern bewusst. Ich werde heute mal googeln, ob ich dazu mehr erfahren kann – vermutlich geht's dann wieder in Richtung Pivot-Tabellen (wenn man den simplen Autofilter nicht benutzen möchte).

Ich danke Euch für Euren Input, er war wirklich sehr hilfreich. Einen schönen Sonntag allerseits!

Gruß
Felix
Moin!
Bei  Deiner Excel-Version reicht eine einzige Formelzelle mit der simplen Formel

=FILTER(A5:G14;(A5:A14=J4)+(C5:C14=J8);"-")

Gruß Ralf
@Ralf: Auch dir herzlichen Dank! Ich musste kurz googeln, wodurch anfangs der Überlauf zustande kam, aber das war schnell geklärt. Der Filter funktioniert prima.

Ansonsten bin ich dank dieses Videos auch mit der inkrementellen Suche beim Datenschnitt weitergekommen und kann dieses Thema jetzt auf erledigt setzen. Danke noch mal an alle!

Gruß
Felix
Moin nochmal!
Das lange Video habe ich mir nicht angesehen, aber …

Selbstverständlich kann auch FILTER() inkrementell arbeiten.
Die Funktion kennt zwar keine Platzhalter, man kann sie aber austricksen:

ABC
1RalfRalfa
2PeterMona
3MonaBeate
4Heinrich
5Beate

ZelleFormel
B1=FILTER(A1:A5;WENNFEHLER(FINDEN(C1;A1:A5);0))

Gruß Ralf
Das funktioniert prima, herzlichen Dank! Ich sehe, es gibt viele Wege, nach Rom zu kommen, und mir ist bewusst, dass es für mich noch ganz, ganz viel zu erkunden gibt. :
Smile