Index + Vergleich für mehrere Sucheingaben
#1
Smile 
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


Angehängte Dateien
.xlsx   Suchen.xlsx (Größe: 14,77 KB / Downloads: 9)
Antworten Top
#2
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));"-"))
[-] Folgende(r) 1 Nutzer sagt Danke an Gastlich für diesen Beitrag:
  • Failix
Antworten Top
#3
Hallo
hier mal eine Version mit Auswahl der Suchspalte & Mehrfachtreffer
Gruß Holger


Angehängte Dateien
.xlsx   Suchen.xlsx (Größe: 21,65 KB / Downloads: 9)
[-] Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:
  • Failix
Antworten Top
#4
Vielen Dank Euch beiden schon mal für die schnellen Antworten!

Ich werde mich heute Abend, spätestens aber morgen damit auseinandersetzen.
Antworten Top
#5
Hallo

Warum Eingabe Felder? Warum Formeln?
Hier würde ein Datenschnitt völlig ausreichen.
Viele Grüße
PIVPQ
[-] Folgende(r) 1 Nutzer sagt Danke an PIVPQ für diesen Beitrag:
  • Failix
Antworten Top
#6
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
Antworten Top
#7
Moin!
Bei  Deiner Excel-Version reicht eine einzige Formelzelle mit der simplen Formel

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

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Failix
Antworten Top
#8
@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
Antworten Top
#9
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Failix
Antworten Top
#10
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
Antworten Top


Gehe zu:


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