Excel: Formel Filter Funktion?


26.11.2022, 18:28

Hallo und vielen Dank für die schnelle Antwort,

es tut mir leid, aber ich verstehen die Antwort nicht und bekomme die Formel nicht in meiner eingebunden.

Ich habe in meiner Spalte BA die ganze Formel anzeigen lassen der Zelle, bevor die Produkt-Codes sortiert werden. Ist es vielleicht möglich, schon in der Spalte BA4 die Formel mit einzubinden, bevor alles sortiert wird? Das Ganze soll ja abhängig von der Spalte B & E gemacht werden, wenn in Spalte V2 was ausgewählt wird.

Danke schon mal für die Antwort :-)


26.11.2022, 23:32

Siehe Bild 1

Siehe Bild 2

2 Antworten

Hallo,

falls du dein Problem nicht inzwischen selbst gelöst hast:

Du kannst die Formel in Spalte BA in der Art erweitern um das Dropdownfeld als weiteres Filterkriterium zu verwenden:

  • in B4 und runterkopieren: =WENNS($D4="DE04";"X";K4="";"X";ODER($V$2="";INDEX(B:B;VERGLEICH("";$B$1:B4;-1))=$V$2);$E4;1=1;"X")

INDEX(B:B;VERGLEICH("";$B$1:B4;-1))=$V$2 gibt hierbei den letzten nicht leeren Wert in Spalte B bis zur aktuellen Zeile aus. Bei den verbundenen Zellen ist das ja die Zelle in der der tatsächliche Wert steht der dann mit V2 verglichen wird. Findet Wenns() keine Bedingung die WAHR ergibt, wird ein Fehler ausgegeben, diese Fälle werden mit der 1=1 am Ende abgefangen.

Sven195 
Fragesteller
 29.11.2022, 16:11

Hallo, vielen Dank :-) Ich konnte, nachdem ich die Formel kopiert und gesehen hatte, dass es funktioniert, nichts mehr sehen vor Freude. Vielen Danke dafür :-)

Nur noch eine Kleinigkeit: Die Formel funktioniert perfekt aber nur bei der Auswahl von CP2001 bis CP2105. Wenn ich die Auswahl CP3005 oder CP4001 auswähle, steht nichts in meiner Spalte W. Eigentlich sollte ja mir dann die FW001613.08 bei meiner Auswahl CP3005 oder bei meiner Auswahl CP4001 sollte dann nur die FW002237.11 angezeigt werden was aber gerade nicht passiert. Ohne in Spalte V2 eine Auswahl, wird mir alles angezeigt, auch die FW001613.08 und die FW002237.11. Nur mit Auswahl geht das noch nicht.

Vielen Danke schon mal für die Antwort.

0
DanKirpan  29.11.2022, 16:33
@Sven195

Bitte :D

:? hat sich bei einem der CP3005 und CP4001 in Spalte B / dem Dropdown ein unsichtbares Leerzeichen am Ende eingeschlichen oder sonst etwas durch das sie nicht exakt gleich geschrieben sind?

Sonst fällt mir spontan nichts ein, warum sie für diese nicht funktionieren sollten. Falls sie gleich sind könntest du daher einen Screenshot anfügen in dem die Formeln angezeigt werden (Registerkarte Formeln, Abschnitt Formelüberwachung -> Schaltfläche "Formeln anzeigen")?

0
Sven195 
Fragesteller
 30.11.2022, 06:41
@DanKirpan

Hallo, ja, es hat sich ein Leerzeichen bei der Spalte B eingeschlichen :-). Da es beim neu einfügen der Tabelle das Leerzeichen immer mit in Spalte B bei CP3005 und CP4001 eingefügt wird, habe ich für meine Dropdown Liste in Spalte BD bei den zwei Einträgen CP3005 und CP4001 auch ein Leerzeichen hinzugefügt am Ende. Nun funktioniert alles wie es soll. Vielen, vielen, vielen Dank dafür.

Wenn es mit einer Formel nicht anders gelöst werden kann, würde ich es so belassen mit dem Leerzeichen bei meiner Auswahl in Spalte V2. Wiederum würde das mit einer Formel besser gelöst sein. Der Plan wird am Tag mehrmals aktualisiert und neu eingefügt in Excel.

Danke schon mal im voraus für die Antwort.

0
DanKirpan  30.11.2022, 11:16
@Sven195

Ok, bitte^^

Beim Dropdown ganz auf eine Hilfspalte zu verzichten schaffe ich auch nicht, aber zumindest die Hilfsspalte kann man aus Spalte B generieren:

  • =WENNFEHLER(INDEX($B$1:$B$23;KKLEINSTE(WENN($B$4:$B$23<>"";WENN($B$4:$B$23<>"Sub total";ZEILE($B$4:$B$23);MAX(ZEILE($B$4:$B$23))+1);MAX(ZEILE($B$4:$B$23))+1);ZEILE(A1)));"")
  • Matrixformel, muss in älteren Versionen über Strg+Umschalt+Enter abgeschlossen werden, Excel 2021 scheint von selbst zu verstehen das es eine ist

Dabei wird jedem nicht leeren bzw "Sub total"-Eintrag ihre Zeilennummer zugeordnet, den anderen eine Zahl größer als die letzte Zeile und diese werden nacheinander mittels KKleinste() und Zeile() an Index() übergeben.

0
Sven195 
Fragesteller
 01.12.2022, 05:59
@DanKirpan

Hallo, jetzt ist alles perfekt und es funktioniert wie es soll. Ich kann nur noch schreiben "vielen herzlichen Dank für tolle Unterstützung" ihr seit die besten :-)

Mfg Sveni195

0
Sven195 
Fragesteller
 01.12.2022, 16:51
@Sven195

Hallo, ich nochmal. Da es ja wunderbar funktioniert mit der Formel, ist bei mein Arbeitskollegen jetzt die Frage aufgekommen, ob es Möglich ist, eine Mehrfachauswahl mit einzubauen. Z.b. Ich nehme das richtige Steuerelement bei Excel mit der Funktion Mehrfachauswahl und sage Excel nicht wie jetzt nur eine Auswahl CP2001, sondern eine Kombination CP2004 und CP4001 zusammen. Ist das realisierbar?

Danke schon mal im voraus für die Antwort.

0
DanKirpan  01.12.2022, 17:38
@Sven195

Hallo nochmal^^

Generell sollte es möglich sein weitere Suchfelder in derselben Art direkt innerhalb der Oder() hinzuzufügen, bspw. mit V2 & V3 als Auswahlfelder für die Produkte:

  • ODER(UND($V$2="";$V$3="");INDEX(B:B;VERGLEICH("";$B$1:B4;-1))=$V$2;INDEX(B:B;VERGLEICH("";$B$1:B4;-1))=$V$3)

Mit den Steuerelementen habe ich mich bisher nicht wirklich auseinandergesetzt, da muss ich morgen selbst nochmal rumprobieren was mit diesen möglich ist.

0
DanKirpan  02.12.2022, 12:09
@Sven195

Wie gestern angekündigt, habe ich mich ein wenig mehr mit den Steuerelementen auseinandergesetzt. Das am nächsten herankommende zur Mehrfachauswahl war das Formularsteuerelement "Listenfeld" bzw "Kombinationsfeld" (funktionieren prinzipiell gleich, nur das das Listenfeld eine Liste und das Kombinationsfeld ein Dropdown ist). Das Listenfeld hat zwar auch eine Option "Mehrfachauswahl", aber ich habe es nicht geschafft diese dann auszulesen :7, aber eine Auswahl nacheinander im Einfachauswahlmodus ist möglich.

Die Steuerelemente geben nebenbei die Position anstatt den Eintrag selbst zurück, aber das ist sogar recht praktisch, wir brauchen nur ein paar Hilfsspalten mehr:

bei mir sind das:

  • Spalte U: hier werden die Auswahlen aufgezählt
  • Spalte V: in der die Positionen in den Eintrag umgewandelt werden
  • $BE$4:$BE$11: zur Aufbereitung der Daten des Steuerelements
  • $BD$4:$BD$11 : weiterhin die aus Spalte B generierte Liste

Unter Formatierung des Steuerelements:

  • Eingabebereich: $BE$4:$BE$11
  • Zellverknüpfung: Listenausgabefeld

"Listenausgabefeld" ist ein definierter Name (Strg+F3 zum Öffnen des Namens- Managers) der diese Formel enthält:

  • =BEREICH.VERSCHIEBEN(Tabelle1!$U$2;ANZAHL2(Tabelle1!$U:$U);;)

Damit wird der Bezug U2 zeilenweise um die Anzahl der Einträge in Spalte U verschoben um die nächste freie Zelle zu erreichen.

V2 enthält anstelle des bisherigen Dropdowns einen einfachen Verweis:

  • =WENN(U2="";"";INDEX($BD$4:$BD$11;U2))

und BE4 diese Formel, die entsprechend bis BE11 runterkopiert wurde

  • =WENN(ANZAHL(U:U)>=8;"keine weitere Auswahl möglich, bitte leeren";WENN(ZÄHLENWENN(V:V;BD4)>0;BD4 & " " & UNIZEICHEN(10004);BD4))

Dabei wird geprüft ob ein Eintrag des Dropdowns bereits ausgewählt wurde und falls ja ein ✔ dahinter gehangen. Die Idee hinter der äußeren Wenn() ist es einen Hinweis zu geben wenn die Anzahl der in Spalte V vorbereiteten Index() erreicht ist. Das Leeren selbst müsste noch manuell gemacht werden, da gibt es keine andere Möglichkeit wenn man nicht VBA bemühen will.

Und in Spalte BA habe ich anstatt die Oder() um jedes Suchfeld zu erweitern es umgedreht, sodass er nun die zugehörigen Einträge aus Spalte B in Spalte V sucht und die Prüfung ob nichts ausgewählt ist über ANZAHL(U:U) erledigt.

  • =WENNS($D4="DE04";"X";K4="";"X";ODER(NICHT(ISTFEHLER(VERGLEICH(INDEX(B:B;VERGLEICH("";$B$1:B4;-1));V:V;0)));ANZAHL(U:U)=0);$E4;1=1;"X")
0
Sven195 
Fragesteller
 03.12.2022, 06:23
@DanKirpan

Hallo, ich habe es leider noch nicht geschafft, alles einzubauen. Möchte mich aber in aller Form bei dir recht herzlichen bedanken für die tolle Unterstützung. Einfach spitze von dir. DANKE :-)

Mfg Sven

0

Wenn ich Dich richtig verstanden habe, dürfte das zu Deinem Ziel führen

Bild zum Beitrag

Du willst Eintragen anhand von Bedingungen vornehmen (Wenn-Funktion), das hat mit Filtern nichts zu tun.

Du kannst folgendes machen

Bild zum Beitrag

... und danach nach Spalte W leere Zellen ausblenden

 - (Microsoft Excel, Formel)  - (Microsoft Excel, Formel)
Sven195 
Fragesteller
 26.11.2022, 18:33

Hallo, ich habe in meine Frage Ergänzung hinzugefügt! MfG Sveni195

0
GutenTag2003  26.11.2022, 19:55
@Sven195

Ich würde an Stelle von Deinem Vergleich; =Zählenwenns nutzen

=ZÄHLENWENNS(B:B;B4;D:D;D4;E:E;E4)

=Wenn(ZÄHLENWENNS(B:B;B4;D:D;D4;E:E;E4);<0);E4

0
Sven195 
Fragesteller
 26.11.2022, 23:33

Hallo und Danke für die Antwort,

ich glaube nicht, dass es so zu meinem Ziel führt, oder ich verstehe deine Formel nicht. Ich würde es bei Wenn und Vergleich lassen.

Ich schreibe es mal aus der Wenn Sicht: Wenn in Spalte V2 ein Eintrag wie CP2004 ausgewählt wird, soll nur noch in Spalte W der oder die Produkt-Codes aus der Zelle BA8 und BA9 angezeigt werden.

In Spalte B wird CP2004 vorgegeben und in BA8, BA9 steht der Produkt-Code. Wenn ich also in Spalte V2 CP2004 auswähle, soll in der Spalte W nur noch die beiden Produkt-Codes angezeigt werden.

Siehe Bild 1 aus meiner Ergänzung

Wenn in Spalte V2 nichts ausgewählt wird, sollen alle Produkt-Codes angezeigt werden.

Siehe Bild 2 aus meiner Ergänzung

Danke schon mal für die Antwort

0
GutenTag2003  26.11.2022, 23:39
@Sven195

Ich kann mich irren, fürchte aber dass der Vergleich mit "Verkettung" nicht funktioniert, wenn die Verkettung nicht zuvor in einer sep. Zelle vorhanden ist und dies als Basis genutzt wird.

0
Sven195 
Fragesteller
 27.11.2022, 03:07

Hallo, ich weiß leider nicht mehr so recht, was ich noch schreiben soll. Wie ich schon geschrieben habe, soll anhand meiner Auswahl von Zelle V2 die Produkt-Codes in der Spalte W angezeigt werden oder wenn keine Auswahl getroffen wird, soll alles angezeigt werden. Siehe Bild 1 und 2 in meiner Frage / Ergänzung.

Ich versuche immer wieder verzweifelt in der Spalte BA4 =WENNS($D4="DE04";"X";K4="";"X";E4&B4=E4&V2;$E4;VERGLEICH($E4&$D4;$E:$E&$D:$D;0);$E4) bei meiner eigentlichen WENNS und Vergleich Formel noch eine Wenn Formel mit einzubauen. Da aber immer wieder Fehler auftauchen, "wie" es fehlt eine offene oder geschlossene Klammer oder zu viele Argumente sowie Wert oder es passiert einfach Garnichts. Ich komme einfach nicht auf die richtige Spur, um mein Problem lösen zu können.

Danke schon mal für die Antwort

0