KKLEINSTE mit Bedingungen in INDEX-Funktion
#1
Hallo,

ich habe eine vertikale Liste mit Werten zwischen 3999 und 15999 in der Spalte O (ab O3).
Nun möchte ich mir die Werte in nebenstehenden Spalten weiter unterteilen:
<12.000
>12.000<13.000
>13.000<15.000
>15.000

für <12.000 habe ich folgende Makro-Funktion formuliert, die auch wunderbar funktioniert:
Code:
=WENNFEHLER(INDEX(O$3:O$11;KKLEINSTE(WENN(O$3:O$11<12000;ZEILE($1:$9));ZEILE(P1)));"")

Das gleiche habe ich jetzt für >12.000<13.000 gemacht, aber irgendwie funktioniert der Zusatz mit dem UND in der WENN-Abfrage nicht:
Code:
=WENNFEHLER(INDEX(O$3:O$11;KKLEINSTE(WENN(UND(O$3:O$11>12000;O$3:O$11<13000);ZEILE($1:$9));ZEILE(R1)));"")

Angezeigt wird mir nur der höchste Wert der ursprünglichen Liste (15.100) und sonst nichts.

Wie kann man das lösen? Confused

Danke im Voraus!

Buddha
Top
#2
Hola,


Code:
=WENNFEHLER(INDEX($O$3:$O$11;KKLEINSTE(WENN(($O$3:$O$11>12000)*($O$3:$O$11<=13000);ZEILE($1:$9));ZEILE(A1)));"")

Gruß,
steve1da
Top
#3
Hallo, MakroFunktion..? Du meinst sicher Array-Formel oder MatrixFormel...!?!?!

Deine Formel kann man kürzen, es sei denn du suchst nach der Reiehenfolge des Auftretens.

=KKLEINSTE(WENN(O$3:O$11<12000;$O$3:$O$11);ZEILE(A1)) - mit CSE

Deine Frage betreffend --->

=KKLEINSTE(WENN(($O$3:$O$11>12000)*($O$3:$O$11<13000);$O$3:$O$11);ZEILE(A1))
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#4
hi Steve, dein <= war aber nicht gefragt... Ganz schön gewagt... (!) :21:   :05:   :25:
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#5
Hi Jörg,

bei <13000 und >13000 bin ich halt mal volles Risiko gegangen :D

Gruß
steve
Top
#6
Danke an Jörg und steve, es hat geklappt!

Aber warum kann man hier ein * (Multiplikator) zum Verknüpfen der Bedingungen benutzen? Das habe ich noch nie gesehen...

Funktioniert das immer?
Top
#7
Hallo Buddha,

du hast hier nichts verknüpft, sondern multipliziert. Schau dir mal die einzelnen Terme an:

es kommen bei beiden WENN-Abfragen entweder WAHR oder FALSCH heraus; entsprechend 1 oder 0. Und mit dem entsprechenden Ergebnis multipliziert, hast du wieder ein WAHR oder FALSCH. Das löst dann das erwartete Ergebnis aus.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top


Gehe zu:


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