Clever-Excel-Forum

Normale Version: Zweitgrößten Betrag ermitteln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo!

Ich möchte einen zweitgrößten Betrag ermitteln und habe hierfür folgende Formel in Verwendung.

Code:
{=KGRÖSSTE(WENN(Auszahlungen!A:A=Q6;Auszahlungen!C:C);2)}


Nun bin ich drauf gekommen, dass das Ergebnis leider ein falsches liefert. Es ist nämlich so, dass diese Formel nur funktioniert, wenn der größte Wert nur einmal vorkommt. Leider kommen in meiner Tabelle die Werte mehrmals vor, darum rechnet er falsch.

Nun habe ich auf einer Seite folgende Formel gefunden, die das gleiche Thema behandelt, wo der richtige zweitgrößte Wert gefunden wird:

Code:
=KGRÖSSTE(Auszahlungen!C:C;ZÄHLENWENN(Auszahlungen!C:C;MAX(Auszahlungen!C:C))+1)

Nun möchte ich aber die neue Formel mit meiner bestehenden kombinieren, was ich aber leider nicht schaffe, es kommt immer folgender Fehler: #ZAHL!

Hier meine Formel:

Code:
{=KGRÖSSTE(WENN(Auszahlungen!A:A=Q6;Auszahlungen!C:C);ZÄHLENWENN(WENN(Auszahlungen!A:A=Q6;Auszahlungen!C:C);MAX(WENN(Auszahlungen!A:A=Q6;Auszahlungen!C:C)))+1)}


Ich hoffe, dass mir jemand helfen kann.

LG
Thomas
=KÜRZEN(KGRÖSSTE(A1:A9999+ZEILE(A1:A9999)%%%%;2);2)
Wenn ich deine Formel nehme, kommt auch folgende Fehlermeldung #ZAHL!

Oder muss ich deine Formel irgendwie noch verändern?
Hallo Thomas,

du must die Nebenbedingung aus Spalte A auch in die Zählen- und Max-Funktion einbauen.

Code:
=KGRÖSSTE(WENN(A:A=Q6;C:C);ZÄHLENWENNS(C:C;MAXWENNS(C:C;A:A;Q6);A:A;Q6)+1)

alternativ ginge auch

Code:
=KGRÖSSTE(WENN((A:A=Q6)*(C:C<KGRÖSSTE(WENN(A:A=Q6;C:C);1));C:C);1)
Hallo!

Danke sehr für deine rasche Antwort.
Ich habe die zweite Formel von dir genommen, denn die liefert den richtigen zweithöchsten Wert. Bei deiner ersten Formel stimmen die Werte nicht, da errechnet er sogar manchmal einen höheren Wert als bei meiner ursprünglichen Formel. 
Code:
=KGRÖSSTE(WENN(Auszahlungen!A:A=Q6;Auszahlungen!C:C);2)
@ lcohen

1. Thomas hat nicht geschrieben, dass es sich um ganzzahlige Werte in Spalte C handelt.

2. Der Trick durch die Addition eines Bruchteils der Zeilennummer gleiche Werte unterscheidbar zu machen ist hier kontraproduktiv.
Wenn der größte Wert mehrfach vorhanden ist, bekomme ich ihn ausgewiesen. Das gleiche erhalte ich auch ohne die Addition der Zeilennummer.
Hi,

einfach so:

Code:
=AGGREGAT(14;6;A:A/(A:A<>MAX(A:A));1)
=WENNFEHLER(AGGREGAT(14;6;C1:C14/((C1:C14)/(A1:A14=E1)<MAX((C1:C14)*(A1:A14=E1)));1);"")
Hallo Thomas,

könntest du ein Beispiel mit der fehlerhaften Berechnung mit der ersten Formel hochladen, damit ich den Fehler ermitteln kann um bei zukünftigen Anfragen sauberer zu arbeiten.

@Edgar

nicht ganz so einfach.

1. Wie kann die erste Formel einen zweithöchsten Wert aus Spalte C liefern?

2. Die zweite Formel liefert den größten (nicht zweitgrößten) Wert mit der Nebenbedingung Q6, wenn ein Wert in Spalte C ohne die Nebenbedingung größer ist.

Sorry,  ich hatte auf die zweite Formel vor der Bearbeitung reagiert. Die Aussage gilt jetzt nur wenn der größte Wert mit Nebenbedingung negativ ist.
Moin

Code:
=KGRÖSSTE(EINDEUTIG(FILTER(Auszahlungen!C1:C27;Auszahlungen!A1:A27=Q6));2)
(29.03.2023, 12:22)Ego schrieb: [ -> ]@ lcohen

1. Thomas hat nicht geschrieben, dass es sich um ganzzahlige Werte in Spalte C handelt.

2. Der Trick durch die Addition eines Bruchteils der Zeilennummer gleiche Werte unterscheidbar zu machen ist hier kontraproduktiv.
Wenn der größte Wert mehrfach vorhanden ist, bekomme ich ihn ausgewiesen. Das gleiche erhalte ich auch ohne die Addition der Zeilennummer.

1. Richtig. Übrigens Beträge, nicht Werte. Damit mit 2 Nachkommastellen (modifizierte Ganzzahl). Und daher KÜRZEN(;2).

2. Stimmt, nicht zuende gedacht (habs sogar getestet, aber das Ziel in dem Moment aus den Augen verloren "Was will ich eigentlich?"). Siehe also die schöne EINDEUTIG-Lösung von shift-del #9.
Seiten: 1 2