Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kombinationen von einer Spalte in 3 Spalten darstellen
#1
Hallo,
beginnend ab Zelle A1 habe ich eine 10zeilen Liste mit verschiedenen Kursen für Teilnehmer. Jeder Teilnehmer muss sich 3 davon rauspicken.

Nun möchte ich die kombinationsmöglichkeiten der 10Kurse in 3 Spalten darstellen. Gleiches 3er Paar mit unterschiedlicher Reihenfolge soll nicht mit einbezogen werden.
Habe es im Anhang in Excel dargestellt.

Wie sieht die Formel dazu aus aus meiner liste eine 3Spaltige Kombinationsmatrix zu erstellen?

Vielen Dank!


Gruß!


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo Razor,

im Text schreibst du beginnend ab A1 und im Bild beginnen deine Kurse ab ab B2.

Ich hab ein Makro nach Vorgaben des Bildes geschrieben.
Es werden alle Dreierkombinationen für beliebig viele Kurse ermittelt.
Code:
Private Sub CommandButton1_Click()
Dim lngI As Long
Dim lngJ As Long
Dim lngK As Long
Dim lngAktrow As Long
Dim lngLastRow As Long
lngAktrow = 1
lngLastRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For lngI = 2 To lngLastRow - 2
    For lngJ = lngI + 1 To lngLastRow - 1
        For lngK = lngJ + 1 To lngLastRow
            lngAktrow = lngAktrow + 1
            Cells(lngAktrow, 4) = Cells(lngI, 2)
            Cells(lngAktrow, 5) = Cells(lngJ, 2)
            Cells(lngAktrow, 6) = Cells(lngK, 2)
        Next lngK
    Next lngJ
Next lngI
End Sub


Angehängte Dateien
.xlsm   Dreier.xlsm (Größe: 19,26 KB / Downloads: 7)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Razor1993
Antworten Top
#3
Oh stimmt, hab mich verschrieben.
Perfekt! Vielen Dank dann probiere ich es gleich Mal aus wenn ich zuhause angekommen bin
Vielen Dank! :)
Antworten Top
#4
A1:C1: 0;1;2 (die 10 Kurse heißen 0 bis 9)
A2[:A120]: =A1+(B1=8)
B2[:B120]: =WENN(B1<8;B1+(C1=9);A2+1)
C2[:C120]: =WENN(C1<9;C1;B2)+1

120 entspricht =KOMBINATIONEN(10;3)
[-] Folgende(r) 1 Nutzer sagt Danke an lupo1 für diesen Beitrag:
  • Razor1993
Antworten Top


Gehe zu:


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