Frage von DerMatz, 75

Ich möchte in einer Exceltabelle die Kopfzeile als Suchfeld nutzen, welche mir bei Eingabe von Buchstaben alle Lösungen in einem Dropdownmenu zeigt. HILFE :D!?

Expertenantwort
von Iamiam, Community-Experte für Excel, 28

weiß nicht, ob ich Dich richtig verstanden habe, aber die Position einer Spalten-Überschrift findest Du mit der Formel (als Spaltenzahl):

=Vergleich(Spaltenüberschrift;1:1;0)

oder als Spaltenbuchstabe(bis 26=Z):

=Zeichen(Vergleich(Spaltenüberschrift;A1:A26;0)+64)

(wichtig: die erste Zelle des Vergleichsbereichs muss A sein, sonst 2 Korrekturglieder erforderlich und es geht trotzdem nur bis Z)

Weisst Du nur einen Teil der Spaltenüberschrift sicher, (zB LMNOP anstatt des ganzen Strings), dann ...Vergleich(*LMNOP*;...

Brauchst Du was weiter rechts (oder ganz was anderes), melde Dich nochmal (Bin aber erst spät heute abend wieder am Platz)

Antwort
von DerMatz, 58

Erst einmal vielen Dank für die schnellen Antworten. Ich konnte mein Problem nicht genauer beschreiben, da die Anzahl der Zeichen ziemlich begrenzt ist...

Also folgendes: Ich habe mir auf Youtube schon ein Tutorial angeschaut, welches meinen Erwartungen entspricht (siehe ersten 30 Sekunden: Excel #425 - Datenüberprüfung mit Suche - Dropdown mit Suchfunktion). Das Problem dabei ist, dass ich 4500 Positionen habe, und die Suche dank unserer "schnellen Rechner" auf der Arbeit viel zu lange dauert und deshalb nicht praktikabel ist. Deshalb erhoffe ich mir, dass ein "einfacheres Suchfeld" oberhalb der Tabelle (kann im Anschluss ja einfach ausgeblendet werden) und/oder einer Verknüpfung viel schneller läuft. Einer der vorgeschlagenen Antworten soll dann schließlich ausgewählt werden können, um dessen Informationen aus einer anderen Tabelle aufzurufen, die entsprechenden SVERWEISE sind bereits angelegt ;)

Ich Danke Euch!    

Kommentar von schmiddi1967 ,

Du machst es einem aber auch nicht gerade einfach :))

Wenn du eine neue Antworten erstellst, dann bitte mit Kommentar in den anderen Antworten darauf hinweisen. Sonst bekommen wir dort nicht Bescheid das es was neues gibt.

Kommentar von DerMatz ,

Sorry, ich bin neu hier :D Was sagst du zu meinem Problem? Irgendwelche Ideen? :)

Kommentar von schmiddi1967 ,

Kein Thema, schau mal meine Antwort in meinem Beitrag

Kommentar von Oubyi ,

Erstmal danke für den Hinweis auf das Tutorial. Auf diesen "Trick" wäre ich selber so schnell nicht gekommen. Ist ein schönes Tool.
Ich habe das jetzt - erst mal - nicht nachgebaut.

Aber ich habe mir letztens ein ähnliche Formel gebaut, um - ohne Dropdown - einfach eine vorhandene Liste an anderer Stelle nach einem Teilstring gefiltert anzuzeigen, also die Filter-Funktion von Excel quasi nachgebaut, nur für eine zusätzliche Anzeige, mit dieser Matrix-Formel:

{=WENNFEHLER(INDEX(Namen;KKLEINSTE(WENN(ISTZAHL(SUCHEN($A$1;Namen));ZEILE(Namen));ZEILE()));"")}

Ich habe die jetzt mal mit 4500 Datensätzen ausprobiert.
Wenn ich sie neben jeden der 4500 Datensätze schreibe, wird das auch bei mir zu langsam. Wenn sie aber nur neben die ersten 50 oder 100 schreibe, sodass nur die ersten 50 oder 100 Treffer angezeigt werden, ist die Performance ok.
Ich denke mal SO könntest Du Dein Problem vielleicht umgehen, mit dem Hinweis oder einer Warnmeldung, dass max. 50/ 100 Treffer angezeigt werden und man die Suche sonst weiter eingrenzen soll.

Alternativ wäre vlt. eine Lösung über VBA möglich, die müsste eigentlich (bin nicht sicher) auch schneller sein.
Wäre das eine Option für Dich?

Kommentar von DerMatz ,

Danke, nicht Lachen, aber was ist VGA? :D

 

Kommentar von Oubyi ,

VBA: Visual Basic for Applications
ist die Programmiersprache mit der man Makros, sprich Programme, für Excel schreibt.
Man könnte als ein Tool programmieren, dass Deinen Anforderungen entspricht. Dazu müssen Makros aber auf Euren Rechnern zugelassen sein, da sie ein Sicherheitsrisiko mit sich bringen.

Antwort
von Funfroc, 75

Hallo,

ein bisschen sehr wenig Angaben für ein zunächst komplex klingendes Themengebiet.

Grundsätzlich wäre sicher möglich einen Textfeld und mit entsprechendem Makro eine Suche zu definieren. In vielen Fällen würde aber wohl ein simpler Autofilter bereits die gewünschte Funktionalität erbringen.

Ohne weitere Angaben kann man also nur im Dunkeln stochern.

LG, Chris

Kommentar von Ninombre ,

Kann ich nur dick unterstreichen

Autofilter

Alles andere ist enormer Aufwand, um eine bereits vorhandene Funktionalität nachzubilden.

Es springt vielleicht nicht direkt ins Auge, aber mit dem Filter geht nicht nur auf- und absteigend sortieren, sondern auch diverse Varianten mit dem Textfilter (beginnt mit / enthält) sind möglich, auch eine Suche nach einem Begriff.

Kommentar von Suboptimierer ,

Genau. Und den Autofilter kann man dann, wenn man möchte, noch per VBA und Change-Events an die Kopfzeile koppeln.

Kommentar von DerMatz ,

Erst einmal vielen Dank für die schnellen Antworten. Ich konnte mein Problem nicht genauer beschreiben, da die Anzahl der Zeichen ziemlich begrenzt ist...

Also folgendes: Ich habe mir auf Youtube schon ein Tutorial angeschaut, welches meinen Erwartungen entspricht (siehe ersten 30 Sekunden: Excel #425 - Datenüberprüfung mit Suche - Dropdown mit Suchfunktion). Das Problem dabei ist, dass ich 4500 Positionen habe, und die Suche dank unserer "schnellen Rechner" auf der Arbeit viel zu lange dauert und deshalb nicht praktikabel ist. Deshalb erhoffe ich mir, dass ein "einfacheres Suchfeld" oberhalb der Tabelle (kann im Anschluss ja einfach ausgeblendet werden) und/oder einer Verknüpfung viel schneller läuft. Einer der vorgeschlagenen Antworten soll dann schließlich ausgewählt werden können, um dessen Informationen aus einer anderen Tabelle aufzurufen, die entsprechenden SVERWEISE sind bereits angelegt ;)

Ich Danke Euch!    

Expertenantwort
von schmiddi1967, Community-Experte für Excel, 63

Ich gebe meinen Vorrednern natürlich vollkommen recht wenn es darum geht eine Liste zu filtern, dann ist der Autofilter in der selben Tabelle natürlich sinnvoller.

Was mich an deiner Fragestellung aber stutzig macht, ist dass du wahrscheinlich wenn ich das richtig vermutet nicht im gleichen Tabellenblatt diese Auflistung haben willst, richtig?

Ich denke eher dass es darum geht dass du in einem zweiten Tabellenblatt ein Textfeld haben willst wo du was ein gibst und er dir automatisch eine Liste anzeigt welches diese Buchstaben beinhaltet um diese nach einem Klick darauf in eine andere Zelle zu übernehmen.

Oder das du auch im gleichen Tabellenblatt zwar das Textfeld hast mit der Suche aber die Auswahl in ein anderes Tabellenblatt übernehmen willst.

Wie Du siehst ist eine genaue Beschreibung deines Problems sehr wichtig um dir auch richtig helfen können.

Kommentar von schmiddi1967 ,

Ich habe jetzt mal ein kleines Muster gemacht und hochgeladen, da ich aber immernoch nicht weiß in welcher Tabelle du die Suche haben willst oder wie überhaupt deine Produkttabelle oder was
auch immer aufgebaut ist, ist diese Musterdatei eher nur zur Anschauung ob es was für dich wäre.

http://workupload.com/file/M2cDqS7

Schau mal ob du damit klar kommen würdest, wenn ja bitte genaue Angaben wo was ist und wo was genau erscheinen soll.

Da sind Zellen festgesetzt und das muss natürlich angepasst werden.

Kommentar von DerMatz ,

Also das ist ja die Eingabemaske: dein Beispiel zeigt alles, was ich von der Funktion her benötige (es geht nur um eine Spalte), allerdings nur wenn man diese mit einer Zelle verknüpfen kann.

Die optimale Lösung nach der ich auf der Suche bin: so eine Eingabemaske direkt in einer Zelle integriert :)

Kommentar von schmiddi1967 ,

Tut mir Leid aber langsam weiß ich nicht mehr was du jetzt wirklich willst. Erst willst du ein Suchfeld, jetzt eine Eingabemaske. Jetzt redest du plötzlich von nur einer Spalte die mit einer Zelle verknüft werden soll.

Sorry aber so weiß ich nicht wo ich jetzt wirklich ansetzen soll, eventuell wäre es besser wenn du mal genau mit Zellen, Zeilen und Tabellen Beschriftungen genau sagst was wo drin ist und was wo auf welchem Tabellenblatt passieren oder erscheinen soll.

Oder bin ich doch nur zu Blöd deine Frage zu verstehen :))

Kommentar von DerMatz ,

haha, kein Problem! Ich frag mich die ganze Zeit, wie man das nicht verstehen kann. :D Aber das ist wieder so eine Situation wo es dann auf einmal Klick macht und dann alles klar ist.

Also nochmal ;)

1) Guck Dir das Youtube-Video an: diese Suchfunktion will ich haben! Integrierte Suche in einer Zelle!

Beispiel: Du hast eine Tabelle mit 4500 Namen und den jeweiligen Telefonnummern (zwei Spalten, 4500 Zeilen). Du hast wie im Video nun Namen (stehen in einer Spalte) und willst diese in einer Zelle suchen/auswählen können und bei der Eingabe der Buschstaben die Ergebniszahl so gering wie möglich halten, wie im Video.  

(Mein Zusatz: Via SVerweis/Verknüpfung möchte ich in der Zelle unter dem ausgewählten Namen die jeweilige Telefonnummer der ausgewählten Person automatisch als Ergebnis sehen. Für Suchfunktion von Punkt 1) nicht wichtig, da Verknüpfung ohne Probleme möglich!) Hat alles soweit geklappt.

ABER: Das Suchen dauerte viel zu lange, deshalb nicht praktikabel. Brauche eine andere und schnellere Lösung.  

2) Dein Vorschlag: deine geschickte Datei!

Eingabe folgt in diese Suchmaske/Eingabemaske (Entwicklertools>Einfügen>Kombinationsfeld (ActiveX-Steuerelement). Funktioniert wie die Suche im Video!

ABER: ist Verknüpfung mit diesem Kombinationsfeld möglich, um die Telefonnummer als Ergebnis zu kriegen? hier relevant!

Wann ja, durchaus eine Alternative!

3) optimale Lösung: Suche in Zelle integriert (wie im Video, nur schneller!)

Frage: 2) ist Verknüpfung möglich

            3) gibt es vielleicht doch noch eine bessere Lösung als die Eingabemaske, wie in Punkt zwei geschrieben?

 

Ich hoffe, dass es jetzt klick gemacht hat ;)

 

Keine passende Antwort gefunden?

Fragen Sie die Community