VAB Ermittlung des Besten, Zweiten und Dritten
#1
Hallo liebe Community,

Mir wurde schon vor wenigen Wochen bei einem großen Problem geholfen, daher hoffe ich, dass dieses kleinere hier schnell gelöst werden kann.
Wenn ich als Leie das programmiere, wird das mit 10000 IF abfragen viel zu unübersichtlich.


Ich möchte gerne 3 Mannschaften untereinander vergleichen und mir den ersten, zweiten und dritten anzeigen lassen.

Als Vergleich muss als erstes das Punkteverhältnis (xx:xx) ist das gleich das Satzverhältnis (xx:xx) und wenn das gleich ist das Spielpunkteverhältnis (xx:xx) genommen werden.

Vorgabe: Jede Zelle liegt aktuell in einer Variable vor, sollte das nicht so geschickt sein, kann ich das ohne Probleme anpassen.

[
Bild bitte so als Datei hochladen: Klick mich!
]

Die Ausgabe hat dann inetwa so zu erfolgen (hier wird alles schon durchs Punkteverhältnis geklärt):

varBeste = Mannschaft1
varZweite = Mannschaft2
varDritte = Mannschaft3

Gibt es hier einen kleinen Code der sowas kann?

Danke im Voraus,
Mumse

Anbei meine Exceldatei die das nochmal wiedergibt.


Angehängte Dateien
.xlsm   Ermittlung.xlsm (Größe: 9,96 KB / Downloads: 2)
Top
#2
Hallo,

mir ist nicht klar, warum Mannschaft 2 besser ist als Mannschaft 3!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#3
Sorry, war ein Fehler :(. 
Aber du hast mein Sinn verstanden :) 

Gruß
Mumse
Top
#4
Hallo,

z.B. so:


[html]
Arbeitsblatt mit dem Namen 'Sheet1'
 ABCDE
1 PunkteverhältnisSatzverhätnisSpielpunkteverhältnis 
2Mannschaft14:220:10310:2002,001001
3Mannschaft22:410:20222:333-2,001
4Mannschaft33:33:3222:250-2,8E-07
13Bester:Mannschaft1Mannschaft1  
14Zweiter:Mannschaft3Mannschaft3  
15Dritter:Mannschaft2Mannschaft2  

ZelleFormel
E2=LINKS(B2;SUCHEN(":";B2)-1)-RECHTS(B2;LÄNGE(B2)-SUCHEN(":";B2))+(LINKS(C2;SUCHEN(":";C2)-1)-RECHTS(C2;LÄNGE(C2)-SUCHEN(":";C2)))%%+(LINKS(D2;SUCHEN(":";D2)-1)-RECHTS(D2;LÄNGE(D2)-SUCHEN(":";D2)))%%%%
B13=INDEX($A$2:$A$4;VERGLEICH(KGRÖSSTE($E$2:$E$4;ZEILE(A1));$E$2:$E$4;0))
C13=INDEX($A$2:$A$4;RANG(E2;$E$2:$E$4))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
[/html]
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • mumbrumse
Top
#5
Lightbulb 
Super, danke dir, damit hast du mir echt geholfen in meinem Gedankenloch. Ich war so auf VBA fixiert und mit einer kleinen Extraliste kann ich das ganze gut umgehen.

Schönen Abend noch.

Gruß,
Mumse :15:
Top
#6
Hi BoskoBiati ,

ich habe dein code jetzt soweit eingebaut bekomme leider bei einer entsprechenden Konstellation Probleme:

[
Bild bitte so als Datei hochladen: Klick mich!
]

Die Sortierung nach dem Code ist richtig, nur stimmt die Auswertung nicht.

Ein 3:1 ist vom Verhältnis besser als 4:2, aber 4 Punkte sind höher als 3 und somit müsste Platz 2 an Platz 1.
Würde er nach dem Verhältnis gehen, wundert es mich das Platz 3 nicht an Platz 2 ist, da hier nur wenige Spielpunkte zu Platz 1 unterschiedlich sind.

Evtl. kannst du es dir ja nochmal angucken.

Gruß,
Mumse
Top
#7
Hallo,

dann probiere es mal so:

[html]
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDE
2Mannschaft14:220:10310:200204,001001100
3Mannschaft23:119:10222:333203,000898890
4Mannschaft33:33:3222:2502,999999720
5Bester:Mannschaft1Mannschaft1  
6Zweiter:Mannschaft2Mannschaft2  
7Dritter:Mannschaft3Mannschaft3  

ZelleFormel
E2=(LINKS(B2;SUCHEN(":";B2)-1)-RECHTS(B2;LÄNGE(B2)-SUCHEN(":";B2)))*100+LINKS(B2;SUCHEN(":";B2)-1)+(LINKS(C2;SUCHEN(":";C2)-1)-RECHTS(C2;LÄNGE(C2)-SUCHEN(":";C2)))%%+(LINKS(D2;SUCHEN(":";D2)-1)-RECHTS(D2;LÄNGE(D2)-SUCHEN(":";D2)))%%%%
E3=(LINKS(B3;SUCHEN(":";B3)-1)-RECHTS(B3;LÄNGE(B3)-SUCHEN(":";B3)))*100+LINKS(B3;SUCHEN(":";B3)-1)+(LINKS(C3;SUCHEN(":";C3)-1)-RECHTS(C3;LÄNGE(C3)-SUCHEN(":";C3)))%%+(LINKS(D3;SUCHEN(":";D3)-1)-RECHTS(D3;LÄNGE(D3)-SUCHEN(":";D3)))%%%%
E4=(LINKS(B4;SUCHEN(":";B4)-1)-RECHTS(B4;LÄNGE(B4)-SUCHEN(":";B4)))*100+LINKS(B4;SUCHEN(":";B4)-1)+(LINKS(C4;SUCHEN(":";C4)-1)-RECHTS(C4;LÄNGE(C4)-SUCHEN(":";C4)))%%+(LINKS(D4;SUCHEN(":";D4)-1)-RECHTS(D4;LÄNGE(D4)-SUCHEN(":";D4)))%%%%
B5=INDEX($A$2:$A$4;VERGLEICH(KGRÖSSTE($E$2:$E$4;ZEILE(A1));$E$2:$E$4;0))
C5=INDEX($A$2:$A$4;RANG(E2;$E$2:$E$4))
B6=INDEX($A$2:$A$4;VERGLEICH(KGRÖSSTE($E$2:$E$4;ZEILE(A2));$E$2:$E$4;0))
C6=INDEX($A$2:$A$4;RANG(E3;$E$2:$E$4))
B7=INDEX($A$2:$A$4;VERGLEICH(KGRÖSSTE($E$2:$E$4;ZEILE(A3));$E$2:$E$4;0))
C7=INDEX($A$2:$A$4;RANG(E4;$E$2:$E$4))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
[/html]
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
Danke für die prompte Antwort.

Sieht gut aus :)

Gruß,
Mumse
Top
#9
Es funktioniert 1a.

Hast du noch eine Abhile, dass wenn eine Zelle leer ist der wert -10000 ausgegeben werden soll.
Das brauche ich für die Sortierung, da sonst immer #Wert! steht.

Habe es mit ISTLEER(A2);-1000; deine Formel)

Gruß,
Mumse
Top
#10
Gelöst juhu. Musste nur eine Klammer anders setzen.

Danke und Gruß,
Mumse
Top


Gehe zu:


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