Summe Top XY in Excel
Hallo nochmal, da ich vorhin so rasche und gute Hilfe bekam, gleich noch eine Frage (in ähnlichem Zusammenhang)
wie summiere ich am einfachsten die Resultate von den besten zehn Teilnehmer (oder einer anderen Anzahl)
In einer sortierten Liste könnte ich ja mit Bereich.Verschieben arbeiten, eine Variante für eine unsortierte Liste wäre mit Summewenn und dem entsprechenden Rang. Beides funktioniert soweit, ausser bei der Summewenn-Variante gibt's bei Ranggleichheit einmal mehr Probleme?
Wie kann ich in einer unsortierten Liste sicherstellen, dass nur die richitge Anzahl an Bestenwerten addiert werden?
z.B. in der folgenden (sortierten) Liste die Summe der besten 10 (=963)
ID Jg Punkt
1 67 99
2 75 99
3 48 97
4 64 97
5 32 96
6 60 96
7 88 96
8 65 95
9 51 94
10 87 94
11 89 94
12 77 93
13 93 92
14 35 91
15 86 91
16 66 90
(Hintergrund: es geht schliesslich um die Berechnung des Durchschnitts dieser TopTen (oder Top XYZ))
Spalte B lässt sich noch als weiteres Sortierkriterium hinzuziehen:
Sortierreihenfolge:
1) C=Punkte=absteigend
2) B=Jahrgang=aufsteigend
Antwort schreiben
Antwort 1 von Hajo_Zi vom 21.04.2020, 07:31 Options
Hallo Nick,
benutze die Funktion =KGRÖSSTE()
Gruß Hajo
Antwort 2 von Saarbauer vom 21.04.2020, 07:52 Options
Hallo,
geht so
=KGRÖSSTE($C$1:$C$12;1)+KGRÖSSTE($C$1:$C$12;2)+KGRÖSSTE($C$1:$C$12;3)+KGRÖSSTE($C$1:$C$12;4)+KGRÖSSTE($C$1:$C$12;5)+KGRÖSSTE($C$1:$C$12;6)+KGRÖSSTE($C$1:$C$12;7)+KGRÖSSTE($C$1:$C$12;8)+KGRÖSSTE($C$1:$C$12;9)+KGRÖSSTE($C$1:$C$12;10)
oder
=SUMME(KGRÖSSTE($C$1:$C$12;1);KGRÖSSTE($C$1:$C$12;2);KGRÖSSTE($C$1:$C$12;3);KGRÖSSTE($C$1:$C$12;4);KGRÖSSTE($C$1:$C$12;5);KGRÖSSTE($C$1:$C$12;6);KGRÖSSTE($C$1:$C$12;7);KGRÖSSTE($C$1:$C$12;8);KGRÖSSTE($C$1:$C$12;9);KGRÖSSTE($C$1:$C$12;10))
Grenzen ( $C$1:$C$12) sind anzupassen
Gruß
Helmut
Antwort 3 von rainberg vom 21.04.2020, 08:05 Options
Hallo Hollow,
den Mittelwert der TopTen erhältst Du mit folgender Formel
=MITTELWERT(BEREICH.VERSCHIEBEN(C1;1;;10;))
Die Formel geht davon aus, dass Spalte C, wie im Beispiel; absteigend sortiert ist.
Gruß
Rainer
Antwort 4 von Hollow vom 23.04.2020, 20:09 Options
Besten Dank für Eure Rückmeldungen
@Rainer:
ich bin eben auf der Suche nach einer Lösung für eine unsortierte Liste...
@Helmut:
Deine Lösung funktioniert für eine fixe Anzahl Top-Werte. Somit meine Frage zufriedenstellend beantwortet, Danke.
Nun möchte ich aber noch einen Schritt weiter gehen
Wenn ich nun eine variable Anzahl an Topwerten will, z.B. die Summe der Top 70% der Teilnehmer, gibt's Probleme.
(Habe gehofft, es gäbe eine Lösung, welche ich einfach adaptieren könnte, mit einer variablen Anzahl an Werten.)
Ist das in einem Wisch machbar?
Oder muss ich zuerst eine Hilfstabelle erstellen, wo ich die Werte mittels KGrösste() absteigend sortiere (z.B. D1-D10) und dann mit Bereich.verschieben() die entsprechende Anzahl summiere oder mittle?
z.B. für eine Liste mit 10 Teilnehmern:
Ursprungsdaten in B1:B10
Rangnummern fix in C1:C10 (z.b. als Rangliste)
>Sortieren in D1:D10 mit
=KGRÖSSTE($B$1:$B$10;C1) (bis C10)
>
=SUMME(BEREICH.VERSCHIEBEN(D1;0;0;RUNDEN(G2*ANZAHL(D1:D10);0);1))
in G2 kann man noch den %-Wert varieren.
Antwort 5 von Saarbauer vom 23.04.2020, 22:09 Options
Hallo,
nicht ganz verständlich, weil die Zusammenhänge der Datenbereiche mir nicht klar sind, da diese sich aus meiner Sicht überlagern. Könntest du mal deine Tabelle irgendwie zur Verfügung stellen
Müsste aber vom Grundsatz her machbar sein
Gruß
Helmut
Antwort 6 von Hollow vom 23.04.2020, 23:37 Options
Also so wie beschrieben funktioniert's,
Frage wäre, ob's auch ohne "Umwege", direkt aus der unsortierten Grundliste gehen würde?
hier mal ein File: http://rapidshare.com/files/109898703/Smpl_TopX.xls
Grüsse Hollow
Antwort 8 von Hollow vom 29.04.2020, 23:26 Options
Hallo Helmut
sorry für die späte Rückmeldung.
Danke für Deinen Vorschlag.
Geht scheinbar nicht ohne "Hilfstabelle" direkt aus der chaotischen Liste.
Dennoch vielen Dank, hab einige Anregungen erhalten und dazugelernt :)