Excelauswertung Laufen: Rangliste Gesamt und nach Geschlecht!?

... komplette Frage anzeigen

2 Antworten

Wenn Du keine Pivottabelle anlegen willst, geht es auch -etwas aufwändig- so:

Deine Namen seien in B4:B12 (kannst ja ggf Spalten/Zeilen davor einschieben, damit das Folgende alles stimmt oder auch erst mal in ein anderes Blatt kopieren. Das ist die unvermeidbare Strafe dafür, dass Du keinerlei Adressen angibst!). Das Geschlecht (m, w) stehe in C4:C12, die Zeiten in D4:D12 (Für 100m zB im Bendef Format: [s],00 *) (alle folgenden Formeln bis Zeile 12 kopieren, auf $ achten!)

in E4 die (Gesamt)-Rangformel =RANG(D4;$D$4:$D$13;1)

(ich hab bis 13 gemacht, damit Du Zeilen oberhalb 13 einfügen kannst) Ich beziehe mich aber im Folgenden NICHT auf die Rangformel, sondern in F4:

=KKLEINSTE(WENN(D$4:D$13<>"";D$4:D$13;9999);ZEILEN(D$4:D4))

ich benutze also fürs K von KKleinstedie Funktion ZEILEN(D$4:D4), was eine fortlaufende Zahl von 1:12 (13, ++) liefert und die Zeiten steigend geordnet kopiert. Das Wenn wird benötigt, um Leerzellen mit dem sehr hohen Wert 9999 zu werten.

Die Gesamt-Rangliste der Namen(steigende Zeiten) ergibt sich dann durch

G4: =INDEX($B$4:$B$13;VERGLEICH(F4;$D$4:$D$13;0))

(nur bei Bedarf: Bei zwei exakt gleichen Zeiten müsstest Du manuell noch bei einem willkürlich ein Digit in der Zeit dazufügen, also nicht zB 00:00:11,97 sondern 00:00:11,971, weil sonst zwei gleiche Ränge entstehen, die nur noch aufwändiger auszuwerten sind.)

Die Zeiten der Rangliste nur für Männer bekommst Du mit in

H4: {=KKLEINSTE(WENN(($D$3:$D$13<>"")*($C$3:$C$13="m");D$3:D$13;9999);ZEILEN($D$3:$D3))}

Da steht also nur als zusätzliche Bedingung *(C$4:C$13="m") drin, weshalb man das als Matrixformel eingeben muss [ohne { , } aber mit Strg+Umsch+Enter abschließen; die {Klammern}entstehen dann automatisch] 

Auch das wieder analog oben auswerten  mit in

I4: =INDEX(B:B;VERGLEICH(H4;D:D;0))

[hab hier die kürzere Schreibweise gewählt, ist nicht open-Office-kompatibel!]

gleiches für die Rangliste nur für Frauen:

J4: {=KKLEINSTE(WENN((D$4:D$13<>"")*($C$4:$C$13="w");$D$4:$D$13;9999);ZEILEN($D$4:$D4))}  {!!} und in

K4: =INDEX(B:B;VERGLEICH(J4;D:D;0))

Rang nur Männer  bzw Frauen (in Gesamt-Namenszeile):

Männer L4: =RANG(D4;$H$4:$H$12;1)

Frauen M4: =RANG(D4;$J$4:$J$12;1)

Rang nur Männer  bzw Frauen (in Männer-/Frauen-Namenszeile):

hier genügt es, die Zellen ab N4 mit 1., 2., 3., ... zu füllen. Die Zeiten und Namen stehen ja schon in den Spalten H und I  bzw J und K

Im Nachhinein kannst Du jetzt die Spalten umordnen.

*) das Format [s],00 wird zwar in der Zelle umgesetzt, nicht aber in der Bearbeitungszeile: da steht trotzdem zB 00:00:12 und zwar gerundet! (also 11,97 wird zu 00:00:12.  Reichen Dir Minuten:Sekunden, dann zwar auch das entsprechende Format [m]:ss, aber auch dann bei zwei exakt gleichen manuell ein ,1 bei einem dazusetzen. Wird wieder ausgewertet, aber in der Bearbeitungszeile nicht angezeigt.

Wahrscheinlich gäbs noch einfachere Lösungen, aber diese hier funktioniert!



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ninombre
13.12.2015, 20:12

Oh Mann, die Fragestellung ging mir auch nicht aus dem Kopf - leider habe ich nicht mehr in die Frage reingeschaut während des Probierens. Ich glaube es ist  unterm Strich der gleiche Ansatz wie bei Dir:
=INDEX(A:A;VERGLEICH((KKLEINSTE(WENN((B:B="w");C:C);ZEILE(D1)));C:C;0))

unter der Annahme das A die Namen, B Geschlecht und C die Zeiten sind. Zeile, damit man es runterziehen kann und sich automatisch die Ränge erhöhen.

Erkenntnis und damit Tipp an den Fragesteller: Arbeite lieber mit Zwischenschritten, ggf. manuellem Sortieren. Bei den Formeln bricht man sich im Zweifel die Finger bzw. ist die Gefahr von Fehlern deutlich geringer.

1

Was möchtest Du wissen?