Plazierung in Tabelle?

2 Antworten

Danke für deine Aufklärung in den Kommentaren auch wenn du glaube ich die Spalten deiner original Tabelle genannt hast nicht deiner hier skizzierten ;-)

je nach dem welche Excel Version zum Einsatz kommt, hast du 2 Möglichkeiten im Falle von Excel 2019 musst du mit einer Hilfszelle arbeiten. Da Rang bei seinem Bereich leider einen echten Zellbereich erwartet, eine Berechnete Matrix wird nicht akzeptiert, zumindest habe ich auf die Schnelle keine Möglichkeit dazu gefunden.

V1 bis Excel 2019

Bild zum Beitrag

hier gewichte ich mittels einer Rechnung die einzelnen Kriterien. Du sagtest die +Punkte sind am wichtigsten, also rechne ich diese x 100, das 2 wichtigste x 10 und das 3 wichtigste ohne Multiplikator.

So müsste das jeweils unwichtigere Kriterium mindestens um den Faktor 10 höher sein um ein vorheriges auszugleichen, was denke ich wohl kaum der Falls ein wird, alternativ kannst du auch x 10000000 und x 1000 nehmen, wenn du ganz sicher gehen willst.

Im Anschluss sortiere und prüfe ich an wievielter Position mein Ergebnis ist. RANG

Falls das für dich ausreichend ist kannst du schon aufhören zu lesen, die anderen beiden Varianten befassen sich nur mit dem Problem, wenn eine Hilfsspalte nicht erwünscht ist.

V2 ab Excel 2021 falls keine gleichen Ergebnisse auftreten können und ohne Hilfsspalte

Bild zum Beitrag

In Excel 2021 und neuer gibt es die Funktion SORITIERENNACH, das heißt hier kann ich gezielt nach bestimmten Spalten sortieren umso weiter vorne eine Spalte steht umso höhere Gewichtung hat sie.

Ich sortiere also erst nach den Punkten vor dem Doppelpunkt (in absteigender Reihenfolge), dann nach den Punkten nach dem Doppelpunkt (in aufsteigender Reihenfolge) und im Anschluss nach Spalte B - Spalte D ebenfalls in Absteigender Reihenfolge, somit habe ich da gleiche Ergebnis ohne Rechnen zu müssen und damit das nicht noch mit Rang gewichtet eingeordnet werden muss, bediene ich mir hier eines Tricks ZEILE.

Mittels Zeile lass ich mir die Zeile innerhalb der sortierten Matrix ausgeben, was ja nun dem Rang entspricht, da sich meine Matrix aber in Zelle H16 befindet muss ich davon 15 abziehen, damit das erste Beste Ergebnis die 1 und das schlechteste die 4 bekommt. ich könnt auch direkt -15 reinschreiben, füge ich nun aber in der Tabelle zwei zusätzliche Zellen ein, würde mein Ergebnis bei 3 beginnen, daher entscheide ich mich üblicherweise zum Abziehen für Zeile(A$15), so wird nach den Einfügen 2er Zeilen darüber aus der Formel Zeile(A$17) und das Ergebnis bleibt richtig.

V3 mit Filter und Sortieren + Let zur Vereinfachung und ohne Hilfsspalte

Bild zum Beitrag

Und hier nun die letzte Variante, hierbei habe ich durch SORTIEREN und FILTER einem Trick bedient, während ich zwei mal die Matrix einlese, ich sie aber 1x sortiere, das andere mal nicht kann ich sie direkt gegenüberstellen und kann die ursprüngliche Zeile der Matrix vor der Sortierung bestimmen. Da Filter wie alle dynamischen Array Funktionen in der Lage ist mehre Zeilen auszugeben, würde es im Falle, das 2 die gleichen Punkte haben auch den gleichen Platz ausgeben. (wie bei Spieler 1 und 2, dies würde für den Fehler #Überlauf sorgen, da ja in den darunter liegenden Zeilen schon was steht und daher nicht ausgegeben werden kann.

Damit dies auf gar keinen Fall passiert, steht das @ vor Filter, somit wird immer nur die erste Zeile zurückgegeben, egal was danach noch folgt.

Die grüne Formel ist komplett identisch zur orangenen, mit dem einzigen Unterschied, dass die grüne noch zusätzlich die Let Funktion nutzt, womit man immer wieder vorkommende Bereiche einmal definieren kann (quasi wie eine variable beim programmieren) und kann innerhalb dieser Formel in Zukunft immer mit dieser arbeiten, macht den Code deutlich lesbarer und schneller zu durchschauen.

Würde mich über Rückmeldung freuen.

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby
 - (Microsoft Excel, Microsoft Office, Excel-Formel)  - (Microsoft Excel, Microsoft Office, Excel-Formel)  - (Microsoft Excel, Microsoft Office, Excel-Formel)

ttkuno 
Beitragsersteller
 28.01.2025, 18:12

Hallo,

da hast du dich aber ins Zeug gelegt. Danke dafür.

Ich habe mich für Variante 1 entschieden, sie funktioniert bei mir und ich verstehe sie auch.

Da ich kein Profi bin und somit von Matrix nur mal gehört habe, aber keine Ahnung habe, verstehe ich die Formel nicht ganz, wenn du sie auch gut erklärt hast.

Ich werde mir auf jeden Fall die Variante 2 und 3 mal abspeichern. Vielleicht brauche sie später mal.

Ich danke dir ganz doll für deine Bemühungen und wünsche dir weiterhin alles Gute für die Zukunft.

ttkuno

Gipfelstuermer  28.01.2025, 18:58
@ttkuno

gern geschehen, so ist halt meine Arbeitsweise, leider geben die wenigsten ihre Excel Version an, daher habe ich mit mittlerweile wenn ich die Zeit habe fast immer angewöhnt eine Varianten für mehrere anzugeben, da 2021 und neuer doch noch nicht so verbreitet sind, ich kenne noch genug die arbeiten noch mit 2013 und älter (ich freue mich immer über die offizielle Anerkennung der hilfreichsten Antwort, aber auch nur dann, wenn sie es wirklich war ) ganz kurz zur Erklärung zum Thema Matrix:

Matrix wird in Excel eigentlich Synonym für einen Zellbereich verwendet also z.B: A1:C3 wäre ein Zellbereich oder eine 3x3 Matrix (3 Zeilen und 3 Spalten), eine Matrix muss aber nicht zwingend ein Zellbereich sein.

ich kann z.B. auch =A1:A3*B1:B3 eine Matrix erzeugen nehmen wir mal an in A1 bis A3 stehen die zahlen 1-3 und in B1 bis B3 2,4,6 dann ist die Matrix die daraus resultiert {2;8;18} Excel stellt dies mit geschwungenen Klammern dar um anzuzeigen, dass es ein ganzer Bereich ist der dort abgefragt/ausgegeben wird. dass ";" steht dabei für Zeilen, wären die Werte durch einen "." getrennt stünden sie nebeneinander.

Und hier kommt der entscheidende Unterschied Excel vor der Version 2021 würde im obigen Beispiel, wenn man die Formel in C1 eingibt:

=A1:A3:B1:B3

als Ergebnis 2 ausspucken, da es keine dynamischen Bereiche kann, sprich es werden zwar alle Werte berechnet aber als Ausgabe wird nur der jeweils erste Wert ausgegeben. Mann müsste die Formel manuell runter ziehen, dann würde auch 8 und 18 auftauchen.

Ab Excel 2021 wird als Ausgabe dann 2 8 18 untereinander stehend angezeigt, man spricht hier von einem "dynamischen Array" (noch eine andere Bezeichnung von Werte-Bereichen....), klickt man in die erste Zelle C1 sieht man dies auch an einem dünnen blauen rahmen, dass dies ein dynamischer Bereich ist, dabei steht die Formel nur in der obersten Zelle.

klickt man in einer der unteren Zellen, sieht man dort zwar auch die Formel, allerdings ist sie grau dargestellt, was soviel bedeutet wie, dass sie nur indirekt dort drin steht.

Würde man nun in C3 zb. 5 reinschreiben, würde in C1 #Überlauf stehen und C2 ist leer. Da nun Excel merkt ich brauche für meinen dynamischen Bereich 3 Zellen, allerdings ist die 3 Belegt, da kann ich also nix reinschreiben, daher resultiert der Fehler Überlauf.

Ein weiterer Vorteil von dynamischen Bereich ist, man muss nicht mehr zwingend die Größe des Bereichs kennen

Nehmen wir mal an wir wüssten nicht wie groß der Bereich C1:C3 ist, sind es nur 3 Werte oder 100, dann würde man normalerweise wenn man mit diesen Werten irgendwas prüfen oder berechnen will schreiben. C:C was wieder zu Fehlern führen kann wenn man z.B. C100 als Hilfszelle für irgendwas benutzt, die andere Alternative wäre mittels Formel zu ermitteln, was die letzten beschriebene Zelle ist.

Mit dynamischen Bereichen aber geht das viel einfacher. Man schreibt einfach C1# fertig, "#" besagt dabei einfach den gesamte dynamischen Bereich, so groß wie er eben ist. (Achtung sowohl Zeilen als auch Spalten, wie ich lernen musste). Und diese dynamischen Bereiche ändern die Handhabung von Excel gravierend, das ist in meinen Augen der größte Meilenstein den es je gab.

ist jetzt wieder sehr lang geworden, aber ich hoffe ich konnte ein wenig aufklären, was das genau ist. Vielleicht ist es irgendwann einmal wichtig.

ttkuno 
Beitragsersteller
 28.01.2025, 19:50
@Gipfelstuermer

Danke, ist schon interessant. Ich werde mir deine Kommentare alle abspeichern.

Gruß ttkuno

ttkuno 
Beitragsersteller
 27.01.2025, 11:39

Hallo "Gipfelstürmer" ,

danke für deine Info. Es soll für jeden Spieler errechnet werden.

Spieler 1 Zeile 4, Spieler 2 Zeile 5, Spieler 3 Zeile 6 und Spieler 4 Zeile 7 .

Zuerst sind die Punkte entscheidend.

Über die Platzierung entscheidet die größere Anzahl der Pluspunkte. Ist diese gleich, entscheidet die kleinere Anzahl der Minuspunkte. Unter Spielern mit gleicher Anzahl von Pluspunkten und von Minuspunkten entscheidet die größere Differenz zwischen gewonnenen und verlorenen Sätzen. Ist die Differenz bei zwei oder mehreren Spielern/Paaren gleich, so entscheiden deren Spiele untereinander .

Differenz +Sätze zu -Sätze . Ist das bei Spielern alles gleich, haben sie den gleichen Platz oder es wird noch nach dem Spiel untereinander geschaut.

Händisch heißt das in meiner Tabelle:

Spieler 1 = Zeile 4 Platz 1

Spieler 2 = Zeile 5 Platz 1

Spieler 3 = Zeile 6 Platz 4

Spieler 4 = Zeile 7 Platz 3

Gipfelstuermer  27.01.2025, 17:15
@ttkuno

vielen dank für die Klarstellung nun ist es ein wenig deutlicher, eine Frage habe ich aber noch wo sehe ich den - Punkte? Punkte aus der ersten Spalte höher, als die der 2?
Aber ich denke auf der Basis kann ich dir schonmal was ausarbeiten.

ttkuno 
Beitragsersteller
 27.01.2025, 17:32
@Gipfelstuermer

Hallo Gipfelstürmer,

die Spalten O und R sind die Pluspunkte bzw. Sätze,

die Spalten Q und T sind die Minuspunkte bzw. Sätze.

Dazu eignet sich die Funktion "Rang".

Aus Deiner Tabelle ist nicht erkennbar, welchem Spieler/Team die Ergebnisse/Punkte zugeordnet werden sollen.


ttkuno 
Beitragsersteller
 27.01.2025, 10:03

Hallo "GutenTag2003" ,

danke für deine Info. Es soll für jeden Spieler errechnet werden.

Spieler 1 Zeile 4, Spieler 2 Zeile 5, Spieler 3 Zeile 6 und Spieler 4 Zeile 7 .

Zuerst sind die Punkte entscheidend. Bei Punktgleichheit kommen die Sätze ins Spiel. Differenz +Sätze zu -Sätze . Ist das bei Spielern alles gleich, haben sie den gleichen Platz oder es wird noch nach dem Spiel untereinander geschaut.

Händisch heißt das in meiner Tabelle:

Spieler 1 = Zeile 4 Platz 1

Spieler 2 = Zeile 5 Platz 1

Spieler 3 = Zeile 6 Platz 4

Spieler 4 = Zeile 7 Platz 3