Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

KGRÖSSE funktioniert nicht wie erwartet

KGRÖSSE funktioniert nicht wie erwartet
01.11.2021 10:35:49
Mike
Moin zusammen!
Da denkt man, man ist fertig, da fällt einem dann doch noch ein Fehler auf:
Ich habe eine Tabelle zur Auswertung von Bundesjugendspielen, in der in 4 Spalten jeweils der Maximalwert aus anderen Spalten (Disziplingruppen) steht.
Aus diesen 4 Spalten, in denen u.U. auch kein Wert stehen kann, sollen nun die 3 höchsten Werte zu einem Gesamtergebnis addiert werden. Ich hab dazu die Funktion KGRÖSSTE ausgewählt, denn von der Beschreibung her sollte die ja genau das machen.

=SUMME(KGRÖSSTE(O4:T4:AK4:AT4;1);KGRÖSSTE(O4:T4:AK4:AT4;2);KGRÖSSTE(O4:T4:AK4:AT4;3))
Damit ermittle ich doch "eigentlich" in Schritt 1 aus den Feldern O4, T4, AK4 und AT4 den höchsten Wert, dann den zweithöchsten und zum Schluss den dritthöchsten und diese Werte summiere ich dann. Dachte ich jedenfalls.
Wenn ich nun in den Spalten der Matrix als Ergebnis der Formel

=WENN(SUMME(J4;L4;N4)>0;MAX(J4;L4;N4);"")
612 und in den folgenden Spalten mit angepasster Spalte die Summen 778, 508 und 617 stehen habe, dann bringt diese Formel als Ergebnis 2302 und nicht 2006 was korrekt sein sollte.
Außerdem wirft die Formel Fehler aus, wenn keine Zahlen vorliegen, das bekomme ich auch noch nicht abgefangen.
Die ganze Tabelle hab ich hochgeladen: https://www.herber.de/bbs/user/148887.xlsm
Gestartet wird die Auswertung über den Button "Prüfen" oder im VBA Editor mit dem Makro "Auswertung_BJS"
Würde mich mal wieder über Hilfestellung freuen...
Gruß,
Mike

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geht schon ...
01.11.2021 10:49:50
neopa
Hallo Mike,
... allerdings würde ich es auch mit AGGREGAT() lösen.
Z.B. so: =WENNFEHLER(SUMME(INDEX(WENNFEHLER(AGGREGAT(14;6;O4:AT4/(O$3:AT$3="Max");{1.2.3});0);));"")
und Formel nach unten kopieren.
Diese berücksichtigt auch Ergebnisse mit weniger als 3 Werten.
Auf Rückfragen kann ich erste am späteren Nachmittag reagieren.
Gruß Werner
.. , - ...
AW: geht schon ...
01.11.2021 13:09:03
Mike
Moin Werner!
Wenn ich Deine Funktion einfüge, dann bekomme ich nur nen Syntaxfehler... :-(
Gruß,
Mike
AW: geht schon ...
01.11.2021 14:08:06
Mike
Hi Werner!
Ich hab Deine Funktion für mich jetzt mal etwas aufgedröselt und bin bei diesem Zwischenergebnis gelandet:

=WENNFEHLER((SUMME(AGGREGAT(14;6;(O4;T4;AK4;AT4);1))+AGGREGAT(14;6;(O4;T4;AK4;AT4);2)+AGGREGAT(14;6; (O4;T4;AK4;AT4);3));" & Chr(34) & Chr(34) & ") "
Da habe ich Deinen Index rausgenommen und dann war auch der Syntaxfehler weg. Damit könnte ich "eigentlich" schon ganz gut leben, aber einfach könnte ja jeder ;-)
Mit der Funktion addiere ich jetzt einfach die Werte wenn alle 4 Spalten einen Wert enthalten, wenn ein Wert fehlt, dann schlägt "WENNFEHLER" zu und es findet keine Berechnung statt.. Das Doofe ist, dass es für ein gültiges Ergebnis aber schon ausreichend ist, wenn 3 von 4 Werten vorliegen.
Da könnte man sicherlich mit diversen IF THEN ELSE und so arbeiten, aber wie ich euch hier kenne, geht das sicherlich eleganter ;-)
Tja, jetzt kommt ihr ;-)
Gruß,
Mike
Anzeige
AW: und wie hast Du die Formel eingefügt? ...
01.11.2021 15:17:02
neopa
Hallo Mike,
... wenn ich diese einfüge erhalte ich jedenfalls keinen Syntaxfehler. Sieh:
Arbeitsblatt mit dem Namen 'Ergebnisse'
 G
42006
52040
60

ZelleFormel
G4=WENNFEHLER(SUMME(INDEX(WENNFEHLER(AGGREGAT(14;6;O4:AT4/(O$3:AT$3="Max");{1.2.3});0);));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

wobei darin das erste WENNFEHLER() überflüssig ist. Ausreichend ist:
=SUMME(INDEX(WENNFEHLER(AGGREGAT(14;6;O4:AT4/(O$3:AT$3="Max");{1.2.3});0);))
Gruß Werner
.. , - ...
Anzeige
AW: und wie hast Du die Formel eingefügt? ...
01.11.2021 15:28:29
Mike
Hi Werner!
Ich hab's gefunden! Ich hatte einen Fehler bei den Anführungszeichen wenn ich die Formel per VBA in die Zelle eintragen wollte! Nun läuft es wie von Dir beschrieben:

Cells(4, 7).FormulaLocal = "=SUMME(INDEX(WENNFEHLER(AGGREGAT(14;6;O4:AT4/(O$3:AT$3=" & Chr(34) & "Max" & Chr(34) & ");{1.2.3});0);))"
Herzlichen Dank!!
Mike
AW: bitteschön owT
01.11.2021 15:35:53
neopa
Gruß Werner
.. , - ...
AW: KGRÖSSE funktioniert nicht wie erwartet
01.11.2021 15:19:17
KlausFz
Hallo Mike,
trenn mal Deine Liste in der KGRÖSSTE-Formel mit Semikolon und setze diese dafür in Klammern.
Die Fehlermeldung behebst Du danach entweder mit "" oder Null (hier mit "").
=WENNFEHLER(SUMME(KGRÖSSTE((O4;T4;AK4;AT4);1);KGRÖSSTE((O4;T4;AK4;AT4);2);KGRÖSSTE((O4;T4;AK4;AT4);3) );"")
Gruß!
Klaus
Anzeige
AW: diese Formel setzt jedoch voraus ...
01.11.2021 15:33:40
neopa
Hallo Klaus,
... es müssen mindestens 3 "Max-Werte" vorhanden sein um eine Summenbildung vorzunehmen, anderenfalls ergibt sich ein ="" Ergebnis.
Und die Formel kann in dieser Formel dann auch eingekürzt werden zu:
=WENNFEHLER(SUMME(KGRÖSSTE((O4;T4;AK4;AT4);{1.2.3}) );"")
wenn immer mindestens 3 "Max-Werte" ausgewertet werden können. Anderenfalls muss das WENNFEHLER() innerhalb der SUMME()-Formel eingebunden werden wie ich es getan habe. Dann wird auch die Summe von nur 2 "Max-Werten" gebildet.
Gruß Werner
.. , - ...
AW: diese Formel setzt jedoch voraus ...
01.11.2021 16:16:06
KlausFz
Hast ja recht, Werner!
1. wollte ich erst mal seine eigene Formel korrigieren, damit die zum Erfolgserlebnis führt ;-)))
2. gehe ich davon aus, dass er die Auswertung am Ende des Wettkampfes vornimmt, dann dürften wohl 3 Max-Werte vorliegen
Trotzdem: chapeau!
Klaus
Anzeige
Danke: Gelöst!
01.11.2021 17:03:09
Mike
Moin Klaus, moin Werner!
Macht einfach Spaß mit euch! ;-)
Danke nochmal und Gruß
Mike

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige