Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Auflistung über Matrix Formel - Zusatzkriterium

Betrifft: Auflistung über Matrix Formel - Zusatzkriterium von: Dominic
Geschrieben am: 24.09.2014 14:49:53

Hi,

über folgende Matrixformel lasse ich mir alle Kunden eines Kundenbetreuers untereinander aufführen.

=WENNFEHLER(INDEX(Marktdaten!$A$2:$A$1569;KGRÖSSTE((Marktdaten!$C$2:$C$1569=$H$2) *(ZEILE(Marktdaten!$C$2:$C$1569)-1);ZÄHLENWENN(Marktdaten!$C$2:$C$1569;$H$2)+1-ZEILE(A1)));"")

Nun würde ich das gerne noch wie folgt einschränken:

Es sollen nur die Kunden untereinander aufgelistet werden die mit "A" oder "B" beginnen.
Wie kann ich das bewerkstelligen?

In H2 steht der ausgewählte Kundenbetreuer
In Spalte A untereinander die Kunden (von A2 bis A1569)
In Spalte C untereinander der jeweilige Kundenbetreuer (von C2 bis C1569)

  

Betrifft: Bedingungen ergänzen ... von: neopa C (paneo)
Geschrieben am: 24.09.2014 14:57:47

Hallo Dominic,

... z.B. mit *((LINKS(A2:A1569;1)="A")+(LINKS(A2:A1569;1)="B"))

Gruß Werner
.. , - ...


  

Betrifft: AW: Bedingungen ergänzen ... von: Dominic
Geschrieben am: 24.09.2014 15:31:10

Hi Werner,

danke aber irgendwie bekomme ich das nicht in Verbindung gesetzt. :(

Gruß
Dominic


  

Betrifft: AW: Bedingungen ergänzen ... von: Dominic
Geschrieben am: 25.09.2014 08:54:07

Kann mir einer bei der Verbindung meiner Formel mit dem Vorschlag vom Werner helfen?
Bei mir will es einfach nicht funktionieren.

DANKE!


  

Betrifft: wie hattest Du denn getestet ?... von: neopa C (paneo)
Geschrieben am: 25.09.2014 11:27:52

Hallo Dominic,

... zeig doch mal Deine entsprechend angepasste Formel hier auf. Für mich ist nämlich aus Deinen bisherigen Angaben nicht eindeutig erkennbar, wo Deine Kundendaten denn genau stehen. Angenommen hatte ich, dass diese in der Zieltabelle stehen.

Dann sollte (jetzt völlig ungetestet)

=WENNFEHLER(INDEX(Marktdaten!$A$2:$A$1569;KGRÖSSTE((Marktdaten!$C$2:$C$1569=$H$2)*((LINKS(A2:A1569;1) ="A")+(LINKS(A2:A1569;1)="B"))*(ZEILE(X$2:X$1569)-1);ZÄHLENWENN(Marktdaten!$C$2:$C$1569;$H$2) +1-ZEILE(A1)));"")

zum Ergebnis führen. Andernfalls stell doch hier mal ein relevanten kleinen Datenauszug (mit Dummy-Daten) hier ein. Dann sehen wir weiter.

Gruß Werner
.. , - ...


  

Betrifft: AW: wie hattest Du denn getestet ?... von: Dominic
Geschrieben am: 25.09.2014 13:44:40

Hi Werner,

hier die Muster Datei:

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


Aktuell werden mir alle Kunden des jeweilig ausgewählten Betreuers ausgegeben.
Das funktionierte jedoch auch schon mit meiner vorherigen Formel einwandfrei. Ich benötige aber wie erwähnt diese zusätzliche Filter Möglichkeit nach "Kundengruppe".


  

Betrifft: mit INDEX() und KKLEINSTE() sowie ... von: neopa C (paneo)
Geschrieben am: 25.09.2014 13:55:38

Hallo Dominic,

... mit den Bedingungsverknüpfungen analog wie bereits von mir aufgezeigt:

{=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN((C$1:C$1999="Kundenbetreuer A") *((LINKS(A$1:A$1999;4)="Hifi") +(LINKS(A$1:A$1999;5)="Video"));ZEILE($1:$1999));ZEILE(A1)));"") } und Formel nach unten koperen.

Anstelle = ..."Kundenbetreuer A" kannst Du natürlich auch einen Zellbezug nutzen.

Gruß Werner
.. , - ...


  

Betrifft: AW: mit INDEX() und KKLEINSTE() sowie ... von: Dominic
Geschrieben am: 25.09.2014 14:05:35

Super, Tausend Dank!

Es funktioniert einwandfrei.
Kurze Rückfrage damit ich die genaue Funktion dahinter verstehe, die sich mir aktuell noch nicht ganz erschließt. Ich hatte zuvor "kgrößte" verwendet und du nun "kkleinste", wieso genau?


  

Betrifft: damit listet man von oben her ... von: neopa C (paneo)
Geschrieben am: 25.09.2014 14:34:24

Hallo Dominic,

... also beginnend mit dem Wert aus der kleinsten Zeilennummer der Zellen für die die Bedingung zutreffend ist.

Gruß Werner
.. , - ...


  

Betrifft: AW: mit INDEX() und KKLEINSTE() sowie ... von: Dominic
Geschrieben am: 26.09.2014 14:56:53

Hallo Werner,

vielen Dank!

Eine weitere Frage ist mir aber tatsächlich gerade nch aufgekommen. Kann es sein, dass die Liste in Spalte C, in die der Kundenbetreuer steht, alphabetisch sortiert sein muss bzw. ist es egal ob Kundenbetreuer A 200x mal untereinander in Reihe steht, statt z. B. 200x mal kreuz und Quer (sprich Zelle C7; dann wieder C12 usw.?


  

Betrifft: der Formel ist es schnuppe ... von: neopa C (paneo)
Geschrieben am: 26.09.2014 15:42:07

Hallo Dominic,

... in welcher Zelle der entsprechende Name steht. Dies sucht "stur" nur nach der Zeile in der die Bedingungen zutreffend sind.

Damit die Formel etwas weniger Ressourcen nutzt, schreibe anstelle ZEILE($1:$1999) besser z.B. ZEILE($A1:$A1999)

Gruß Werner
.. , - ...


  

Betrifft: AW: der Formel ist es schnuppe ... von: Dominic
Geschrieben am: 29.09.2014 09:50:47

Hi Werner,

erlaube mir noch eine weitere Frage:

Nun muss ich es genau anders rum lösen, sprich alle Kunden die nicht mit "HiFi" oder "Video" anfangen sollen nicht aufgelistet werden:
So funktioniert es bei mir aber nicht:

{=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN((C$1:C$1999="Kundenbetreuer A") *((LINKS(A$1:A$1999;4)<>"Hifi") +(LINKS(A$1:A$1999;5)<>"Video"));ZEILE($1:$1999));ZEILE(A1)));"") }


  

Betrifft: AW: der Formel ist es schnuppe ... von: Dominic
Geschrieben am: 29.09.2014 11:38:54

Sorry, Tippfehler. Ich meinte es so:

Nun muss ich es genau anders rum lösen, sprich alle Kunden die nicht mit "HiFi" oder "Video" anfangen sollen jetzt aufgelistet werden - sprich andersrum: Alle Kunden die Hifi und mit Video anfangen dürften NICHT aufgelistet werden!

So funktioniert es bei mir aber nicht:

{=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN((C$1:C$1999="Kundenbetreuer A") *((LINKS(A$1:A$1999;4)<>"Hifi") +(LINKS(A$1:A$1999;5)<>"Video"));ZEILE($1:$1999));ZEILE(A1)));"") }


  

Betrifft: ein * anstelle des + könnte "Wunder" wirken ... von: neopa C (paneo)
Geschrieben am: 29.09.2014 17:43:05

Hallo Dominc,

... ungetestet: {=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN((C$1:C$1999="Kundenbetreuer A") *((LINKS(A$1:A$1999;4)<>"Hifi") * (LINKS(A$1:A$1999;5)<>"Video"));ZEILE($1:$1999));ZEILE(A1)));"") }

Mit dem * wird eine UND-Beziehung aufgebaut anstelle der ODER-Beziehung des + Operators.

Gruß Werner
.. , - ...


  

Betrifft: AW: ein * anstelle des + könnte "Wunder" wirken ... von: Dominic
Geschrieben am: 30.09.2014 13:07:27

Hallo Werner,

vielen vielen Dank, du bist echt genial. :)
Es funktioniert einwandfrei! Und ich habe unzählige Kombinationen und Varianten versucht die alle nicht zum finalen Erfolg führten. :)


 

Beiträge aus den Excel-Beispielen zum Thema "Auflistung über Matrix Formel - Zusatzkriterium"