Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1956to1960
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

Filter-Funktion: Mehrere Suchwerte auf einmal finden

Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 10:08:33
captainkeks
Hallo zusammen,

ich habe beim Erstellen des Beitrags eine recht akzeptable Lösung gefunden, aber mich würde interessieren, ob es noch kürzer geht.

Ich habe eine entsprechende Test-Excel mit angeängt.

Mein Ziel ist es, mit Suchwerten in Spalte A und der =Filter-Funktion alle Suchwerte gleichzeitig zu Suchen. Die Filter-Funktion einfach nach unten zu ziehen hilft nicht direkt, da es Suchwerte gibt, die 2 oder mehr Treffer haben und es dann zum #ÜBERLAUF kommt. Das Problem ließ sich mit =MTRANS beheben (siehe Tabelle2 Spalte C:D).

Um mein gewünschtes Ergebnis zu erhalten benutze ich =ZUSPALTE, sodass alle Treffer in einer Spalte aufgelistet werden.

Mein frage ist jetzt, geht das auch ohne den Zwischenschritt in Spalte C:D mit nur einer einzigen Formel die Überläuft? Mit allen Suchwerten nacheinander Filter und die Treffer in einer Spalte ausgeben?

https://www.herber.de/bbs/user/164882.xlsx


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 11:35:51
Yal
Hallo Moritz,

als grosser Fan von Power Query würde ich vorschlagen, die 2 Listen in Tabellen umzuwandeln (Menü "Einfügen", "Tabelle") und diese in Power Query zu joinen.

Vorteil: die Arbeit mit Tabellen zwingt zu einer strukturiertes Denken bei dem Umgang mit Daten. Diese Umgewöhnungsaufwand geht schnell in einer erhöhte Produktitivät rüber (return on investment). Power Query ist Unterschied zwischen "Excel gut" und "Excel sehr gut".

Vorgehensweise:
_ Zeile A1 in "Daten" anklicken, Menü "Einfügen", "Tabelle", Vorschlag annehmen, hat Überschrift: Ja. (geht auch mit Strg+t)
_ Anschliessend Tabellenname anpassen: Menü "Tabellenentwurf", wenn die aktive Zelle in der Tabelle liegt (nicht erforderlich. Ich benutze hier "tblDaten")
_ Dito für Such-Tabelle (tblSuche)
_ auf einer der Tabelle klicken, Menü "Daten", "Aus Tabelle/Bereich"
Du bist im Power Query Editor

_ links Bereich "Abfragen" öffnen, rechtklick auf die Abfrage und "Duplizieren"
_ Duplikat umbenennen,
_ zweiten Schritt "Geänderter Typ" löschen,
_ Schritt "Quelle" (rechts) amklicken und im Bearbeitungsleiste die Name der Quelle auf die andere Tabelle sezten
Jetzt haben wir alle Daten in PQ angebunden.

_ Auf die Abfrage für Daten aus "tblSuch" gehen, Menü "Start", "Abfragen zusammenführen", Welcher von beiden Unterauswahl ist zuerst egal.
_ im Assistent-Fenster die Abfrage "tblDaten" als zweite (untere) Abfrage schalten,
_ in beide Tabellen das übereinstimmende Feld markieren (diese Felder müssen dieselbe Typ haben, in dem Fall sind beide als Zahl erkannt worden)
_ Join-Art "innnerer Join" auswählen. ok.
_ die neue Spalte erweitern (Symbol mit auseinandergehende Pfeilen), alles ausser "PNR" abwählen, Präfix raus.
_ Eventuell sortieren
_ Menü "Datei", "Schliessen & laden in ...", nur Verbindung wählen
Wir sind wieder in Excel. Links sind die Abfragen aufgelistet.
_ die zuletzt bearbeitete Abfrage Rechtsklicken, "Laden in ..." wählen, Zelle in Zieltabelle auswählen.
Fertig

Ändern sich die Quellen, Rechtsklick auf der Ergebnistabelle und "Aktualisieren" (ähnlich wie Pivot. Wird nicht mit F9 "neuberechnet")

VG
Yal

Anzeige
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 14:16:17
captainkeks
Power Query find ich eigentlich auch nicht schlecht, aber ich stoße hier auf ein Problem:

In der Test-Excel mag das nch funktionieren, meine Echtdaten sind aber ein wenig anders. Der Suchwert bleibt, aber die Zelleninhalte der zu durchsuchende Spalte sind nicht 1zu1 dem Suchwert.

Ich brauche auch Treffer bei:

Suchwert -> 12345678
Zelleninhalt der Suchspalte -> N: 456572; A: 12345678

Das soll aber trzdem Matchen.

Ich weiß es gibt die Fuzzy-Methode, die ist aber meiner Meinung sehr ungenau. Ich habe das anhand meiner Daten getestet und mit verschiedenen Einstellungen, nicht die nötigen Treffer erreicht. Gibt es dazu vllt noch andere vorrangehsnweise um auch Stringteile zu finden?
Anzeige
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 17:17:55
Yal
Hmm... kann ich nicht nachvollziehen. Ein join ist ein Join und liefert, wenn Gleichheit vorhanden ist. Das ist erprobte Abfrage-Mechanismus seit 1974 (Entstehung der SQL und somit Joins). Fuzzy ist in dem Fall komplett ausser acht zu lassen.
Wie gesagt: achte darauf, dass in beiden Felder dieselbe Datentypen verglichen werden. Bei Text hast Du zusätzlich das Problem schwer zu entdeckende Leerzeichen.

Ansonsten kann ich nicht sehen, was in den Daten passiert, die Du nicht im Forum bereitgestellt hast.

VG
Yal
AW: zu Deinen nun erweiterten Vorgaben ...
06.12.2023 19:37:42
neopa C
Hallo,

... ich hab jetzt die PQ-Lösung von Yal nicht nachgestellt, aber ich geh davon aus, daß diese für Deine Beispieldatei die gleichen Ergebnisse liefert, wie die eingestellten Formellösungen. Wenn ich Deine Aussagen richtig interpretiere, müßtest Du aber mE das gleiche bzgl. der Formellösungen festgestellt haben, oder?

Auf jeden Fall wäre es richtiger gewesen, Du hättest in Deiner Beispieldatei gleich auch zwei, drei derartiger Datenwerte in Deiner Tabelle: Daten eingestellt.

Ich selbst hab kein XL365, habe aber mit einer alten XL2010er Version eine Formel entwickelt, die das was Du nun an Informationen bereitgestellt hast, mit nur einer klassischen Matrixformel auch realisieren kann.

Diese Formel für alte XL-Versionen (ab XL2010) wäre in C3:

{=WENNFEHLER(INDEX( Daten!A:A;AGGREGAT(15;6;ZEILE(A$2:A$99)/(MMULT(WENNFEHLER(SUCHEN(MTRANS(A$2:A$22);Daten!B$2:B$99)^0;0);ZEILE(A$2:A$22)^0)-SUMME(--(A$2:A$22=""))>0);ZEILE(A1)));"")} Die {} nicht eingeben sondern die Formeleingabe mit: Strg + Shift + Enter abschließen.

Nur gibt es in den älteren XL-Versionen noch kein Spillen, so daß die Formel weit genug nach unten ziehend kopiert werden muß.
Die Datenbereiche sind schon etwas größer definiert als an Beispieldaten bisher auszuwerten sind, können aber auch noch entsprechend der Erfordernis angepaßt werden. Aber auf keinen Fall sollte sie über den gesamten Zeilenbereich definiert sondern nur für max ein wenig mehr, als wirklich auszuwerten ist.

Ich nehme an, daß in Deiner XL-Version auf Basis meiner Kernformel folgende Formel auch schon zum gewünschten Ergebnis führen sollte:
{=FILTER(Daten!A2:A99;MMULT(WENNFEHLER(SUCHEN(MTRANS(A2:A22);Daten!B2:B99)^0;0);ZEILE(A2:A22)^0)-SUMME(--(A2:A22="")))}
Teste mal. Sicherlich kann ein XL365-User noch eine kürzere Formel hierfür definieren.

Gruß Werner
.. , - ...
Anzeige
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 11:45:59
MCO
Moin!

Ist zwar umständlich einzugeben, funktioniert aber:

=FILTER(Daten!A2:A20;--(Daten!B2:B20=A2)+--(Daten!B2:B20=A3)+--(Daten!B2:B20=A4)+--(Daten!B2:B20=A5)+--(Daten!B2:B20=A6)+--(Daten!B2:B20=A7)>0)


Vielleicht findet sich ja jemand, die diese Formel noch kürzen kann...

Gruß, MCO
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 12:19:45
daniel
Hi
prinzipiell funktioniert das:

=FILTER(Daten!A:A;ZÄHLENWENN(Tabelle2!A:A;Daten!B:B))

Gruß Daniel
AW: Filter-Funktion: Mehrere Suchwerte auf einmal finden
06.12.2023 13:37:37
captainkeks
Okay, das ist wirklich simple und klappt. Danke.
AW: aber sicher doch ...
06.12.2023 12:12:20
neopa C
Hallo MCO,

... hab zwar kein XL365 aber alle Deine -- lassen sich sicher zumindest einsparen.

Gruß Werner
.. , - ...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige