Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zweitgrößten Betrag ermitteln
#1
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
Excel Version 2016
Antworten Top
#2
=KÜRZEN(KGRÖSSTE(A1:A9999+ZEILE(A1:A9999)%%%%;2);2)
Antworten Top
#3
Wenn ich deine Formel nehme, kommt auch folgende Fehlermeldung #ZAHL!

Oder muss ich deine Formel irgendwie noch verändern?
Excel Version 2016
Antworten Top
#4
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)


Angehängte Dateien
.xlsx   Zweite.xlsx (Größe: 10,28 KB / Downloads: 3)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
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)
Excel Version 2016
Antworten Top
#6
@ 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.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#7
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);"")
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#8
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.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#9
Moin

Code:
=KGRÖSSTE(EINDEUTIG(FILTER(Auszahlungen!C1:C27;Auszahlungen!A1:A27=Q6));2)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#10
(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.
Antworten Top


Gehe zu:


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