Exceltabelle für Badmintonturnier: Jeder gegen jeden
#21
Hallo,

ich gebe jetzt auf! Dies ist der letzte Post. Du solltest mal einen Excel-Grundkurs machen.
Jetzt hast du "Lars Lehm" und "LarsLehm" (mit und ohne blank). Das passt halt nicht. Du musst überall die gleichen/identischen Namen verwenden!


Gruß Sigi
Antworten Top
#22
Anbei eine Version, bei welcher der Spielplan und die Rangliste per Power Query erzeigt werden. Dabei führen auch komplett identische  Gesamtergebnisse zur Ranggleichheit.


Angehängte Dateien
.xlsx   cef - Exceltabelle für Badmintonturnier - Jeder gegen jeden (PQ).xlsx (Größe: 31,68 KB / Downloads: 1)
Antworten Top
#23
Grüße gehn raus an Sigi!

Danke für den Hinweis! Das klappt jetzt. Ich weiß, es ist nicht einfach mit den Anfängern hier, aber trotzdem danke für die Geduld!

Für alle ans Ende Scrolle:
Hier die Lösung: Badminton Turnier: Jeder gegen jeden
Erstes Blatt Namen eingeben
Zweites Blatt Spielstände eintragen
Drittes Blatt Ligaansicht.

Hier das Makro, wenn das jemand einsehen möchte:
Code:
Sub GeneratePairings()
    Dim playerCount As Integer
    Dim i As Integer, j As Integer
    Dim row As Integer
    Dim playerRange As Range
    Dim cell As Range

    ' Spielerbereich festlegen (fix auf Zeilen 2 bis 45)
    Set playerRange = Sheets("Spielerübersicht").Range("D2:D45") ' Spalte D für Turniernamen verwenden
   
    ' Spieleranzahl zählen (nur nicht-leere Zellen in Spalte D)
    playerCount = 0
    For Each cell In playerRange
        If Trim(cell.Value) <> "" Then
            playerCount = playerCount + 1
        End If
    Next cell
   
    ' Zielblatt und Zelle für die Paarungen festlegen
    Dim pairingSheet As Worksheet
    Set pairingSheet = ThisWorkbook.Sheets("Turniermodus")
   
    ' Alte Paarungen löschen (nur Spalten C und D, damit Spalte B für Datum bleibt)
    pairingSheet.Range("C3:D1000").ClearContents
   
    ' Paarungen erstellen
    row = 3  ' Startzeile für die Paarungen (unterhalb der Kopfzeile)
    For i = 2 To playerCount + 1
        For j = i + 1 To playerCount + 1
            ' Spieler 1 und Spieler 2 aus der Spielerübersicht (Spalte D)
            Dim player1 As String, player2 As String
            player1 = Trim(Sheets("Spielerübersicht").Cells(i, 4).Value) ' Spalte D für Spieler 1
            player2 = Trim(Sheets("Spielerübersicht").Cells(j, 4).Value) ' Spalte D für Spieler 2
           
            ' Nur Paarungen eintragen, wenn Spieler 1 und Spieler 2 gültige Namen haben
            If player1 <> "" And player2 <> "" Then
                pairingSheet.Cells(row, 3).Value = player1  ' Spieler 1 in Spalte C
                pairingSheet.Cells(row, 4).Value = player2  ' Spieler 2 in Spalte D
                row = row + 1  ' Nächste Zeile
            End If
        Next j
    Next i
   
    ' Nachricht mit der tatsächlichen Spieleranzahl
    MsgBox "Paarungen für " & playerCount & " Spieler wurden erstellt!"
End Sub

Es dankt
der Spender

@ ws-53 das sieht interessant aus. So wie ich das verstehe kommt das dann ohne Makros aus. Habe ich noch nie was von gehört. Wie starte ich diese Power Query? Also wenn ich jetzt Spieler hinzufüge, muss ich ja die Daten irgendwie aktualisieren. Wie mache ich das?
Antworten Top
#24
Cursor iwo in die Tabelle > rechte Maustaste > Aktualisieren.

Dann musst du aber vorher oder nachher alle Ergebnisse löschen, da diese ja nicht zu den neuen Paarungen passen.

Unter > Daten > Abfragen und Verbindungen  siehst du alle Abfragen,  die du zur Bearbeitung öffnen kannst. In einer Abfrage kannst du dann von oben nach unten alle Schritte der Reihe nach anklicken, um zu sehen was passiert.

Immer wenn du neue Ergebnisse eingetragen hast, kannst du dann die Rangliste aktualisieren.
Antworten Top
#25
Folgende  Änderungen habe ich in der aktuellen Version durchgeführt:

Bei der Bestimmung der Ranglistenpositionen hatte ich noch nicht alle notwendigen Kriterien berücksichtigt. Im Tabellenblatt "Rangliste" werden  nun alle Kriterien genannt.

Weiterhin habe ich nun vorgesehen, das während des Turniers Spieler ein- und aussteigen können. Neue Spieler werden dann nach einer Aktualisierung in den Spielplan aufgenommen und noch nicht gespielte Matches, von ausgestiegenen Spielern, aus dem Spielplan entfernt. Somit werden bereits durchgeführte Matches, von ausgestiegenen Spielern, weiterhin in der Rangliste berücksichtigt. Die Zeitpunkte für Ein-/Ausstieg können terminiert werden. 

Soll ein neues "Jeder gegen jeden" Turnier müssen alle Datenzeilen des Spielplans einmal manuell gelöscht werden.

Nach jeder nachträglichen Änderung der Teilnehmer und Aktualisierung des Spielplans, ändern sich dann auch die Spielnummern. Diese können somit nicht als Auswertungskriterium genutzt werden.

Der nachträgliche Ein-/Ausstieg hat den Vorteil, dass neue Vereinsmitglieder in das laufende Turnier einsteigen können, und Mitglieder, die aus iwelchen Gründen nicht mehr teilnehmen können/wollen, nicht mehr als noch mögliche Paarungen gezeigt werden.


Angehängte Dateien
.xlsx   cef - Exceltabelle für Badmintonturnier - Jeder gegen jeden (PQ) v2.xlsx (Größe: 44,89 KB / Downloads: 0)
Antworten Top


Gehe zu:


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