Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Testmatrix - Kombinationen???

Forumthread: Testmatrix - Kombinationen?

Testmatrix - Kombinationen?
Susi
Hallo,
ich habe folgendes Problem. Ich soll eine Testmatrix aufsetzen, welche 6 Spalten hat. Die Spalten haben die Überschrift Feld1 .. Feld6. Jetzt soll ich alle möglichen Testkombinationen erstellen und pro Zeile diese Eintragen. Das Problem dabei ist, dass die Felder 4 Zustände haben können (Status: verschieden, exakt, ähnlich, leer). Bei zwei Zuständen hätte ich die Anzahl noch alleine hinbekommen, nämlich 2^6=64 es sind aber 4 Zustände pro Feld.
Nun meine Fragen:
1) Wieviel Kombinationen gibt es (6 Spalten jedes Feld 4 Zustände) ?
2) Kann mir bitte jemand sagen wie ich die Matrix genau mit allen Testkombinationen automatisch befüllen kann (gibt es eine Funktion o. Excel VBA)?
Anbei die Datei in Vorbereitung.
https://www.herber.de/bbs/user/72478.xlsx
Vielen lieben Dank vorab.
Viele Grüße
Susi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Testmatrix - Kombinationen?
26.11.2010 12:26:05
ransi
HAllo
Das sind 4096 Kombis
4*4*4*4*4*4
Listen kannst du die zb. so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub test()
    Dim out(1 To 4096, 1 To 6)
    Dim arr
    Dim a, b, c, d, e, f, L As Long, I As Integer
    arr = Array("Exakt", "leer", "Ähnlich", "Verschieden")
    For a = LBound(arr) To UBound(arr)
        For b = LBound(arr) To UBound(arr)
            For c = LBound(arr) To UBound(arr)
                For d = LBound(arr) To UBound(arr)
                    For e = LBound(arr) To UBound(arr)
                        For f = LBound(arr) To UBound(arr)
                            L = L + 1
                            out(L, 1) = arr(a)
                            out(L, 2) = arr(b)
                            out(L, 3) = arr(c)
                            out(L, 4) = arr(d)
                            out(L, 5) = arr(e)
                            out(L, 6) = arr(f)
                        Next
                    Next
                Next
            Next
        Next
    Next
    Range("A3").Resize(L, 6) = out
End Sub


ransi
Anzeige
Nee, Variationen mit Wiederholung, Ransi! orT
26.11.2010 12:31:51
Luc:-?
Gruß Luc :-?
AW: Nee, Variationen mit Wiederholung, Ransi! orT
26.11.2010 12:36:28
Susi
ich versuche gerade die Liste zu erstellen, funktioniert aber nicht.
Ahh... wäre einer so lieb von Euch und kann mir die Liste basteln, ich bekomms nicht hin.
Danke Euch vorab.
Lass doch einfach ...
26.11.2010 12:51:57
Rudi
Hallo,
... mal Ransis Code laufen.
Gruß
Rudi
Anzeige
Kombinatorik
26.11.2010 12:29:45
Luc:-?
Hi, Susi,
Zu 1) gibt's Fmln in jedem guten Mathebuch, wobei zu klären wäre, ob du wirklich Kombinationen (ohne Wiederholungen: n über k, Reihenfolge der Zellzustände egal) oder doch eher Variationen (mit Wdhol: n^k also 4^6 insgesamt, Rflg nicht egal → wdn mehr!) haben willst. Für Kombb hat XL 'ne Funktion im Fktsassi.
Zu 2) — automatisch iss nich' → Formel ausdenken! → bei Variationen m.Wdh simpel — VBA analog. Da du sowohl in XL als auch VBA gut bist, sollte das kein Problem für dich sein… ;->
Gruß Luc :-?
Anzeige
AW: Kombinatorik
26.11.2010 12:38:05
Susi
Sry, aber dann bin ich wohl doch nicht so gut in Excel/VBA. Verstehe nicht was Du meinst.
Bekomme es nicht hin.
Kannst Du mir bitte helfen *lieb guck ;-)
Siehe oben! Ransi hat deine Arbeit getan,...
26.11.2010 21:05:48
Luc:-?
…Susi,
falls es sich - wie anzunehmen - tatsächlich um Variationen handelt!
Gruß+schöWE, Luc :-?
PS: Ich kann leider nicht sehen wie es aussieht, wenn du „lieb guckst“… ;-)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Testmatrix erstellen: Alle Kombinationen in Excel


Schritt-für-Schritt-Anleitung

Um eine Testmatrix mit 6 Spalten und 4 Zuständen zu erstellen, kannst Du folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    
    Public Sub test()
        Dim out(1 To 4096, 1 To 6)
        Dim arr
        Dim a, b, c, d, e, f, L As Long, I As Integer
        arr = Array("Exakt", "leer", "Ähnlich", "Verschieden")
        For a = LBound(arr) To UBound(arr)
            For b = LBound(arr) To UBound(arr)
                For c = LBound(arr) To UBound(arr)
                    For d = LBound(arr) To UBound(arr)
                        For e = LBound(arr) To UBound(arr)
                            For f = LBound(arr) To UBound(arr)
                                L = L + 1
                                out(L, 1) = arr(a)
                                out(L, 2) = arr(b)
                                out(L, 3) = arr(c)
                                out(L, 4) = arr(d)
                                out(L, 5) = arr(e)
                                out(L, 6) = arr(f)
                            Next f
                        Next e
                    Next d
                Next c
            Next b
        Next a
        Range("A3").Resize(L, 6) = out
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle test aus und klicke auf Ausführen.

Jetzt sollte Deine Testmatrix mit allen möglichen Kombinationen in den Zellen A3 bis F4098 erscheinen.


Häufige Fehler und Lösungen

  • Fehler: Die Matrix wird nicht richtig ausgefüllt.

    • Lösung: Stelle sicher, dass der Code korrekt eingefügt wurde und keine Syntaxfehler vorliegen. Überprüfe die Range in der letzten Zeile des Codes.
  • Fehler: Excel reagiert sehr langsam oder stürzt ab.

    • Lösung: Wenn Du eine sehr große Matrix erstellen möchtest, kann dies zu Performance-Problemen führen. Überlege, ob Du die Anzahl der Kombinationen reduzieren kannst.

Alternative Methoden

Wenn Du keine VBA-Programmierung nutzen möchtest, kannst Du auch die Kombinatorik-Funktion in Excel verwenden. Hierzu kannst Du die Funktion =KOMBINIEREN(n; k) verwenden, um die Anzahl der Kombinationen ohne Wiederholung zu berechnen.

Für die Erstellung von Testmatrixen mit Wiederholung ist jedoch VBA effektiver, da die Anzahl der Kombinationen explizit generiert wird.


Praktische Beispiele

Hier ist ein Beispiel, wie die Testmatrix aussehen könnte, nachdem Du den Code ausgeführt hast:

Feld1 Feld2 Feld3 Feld4 Feld5 Feld6
Exakt Exakt Exakt Exakt Exakt Exakt
Exakt Exakt Exakt Exakt Exakt leer
... ... ... ... ... ...
Verschieden Verschieden Verschieden Verschieden Verschieden Verschieden

Insgesamt sollte es 4096 Kombinationen geben.


Tipps für Profis

  • Du kannst die Matrix dynamisch anpassen, indem Du die Anzahl der Spalten oder Zustände im Code änderst.
  • Nutze Array-Listen, um die Zustände anzupassen oder zu erweitern.
  • Speichere Deine Arbeit regelmäßig, um Datenverluste zu vermeiden, besonders bei großen Excel-Dateien.

FAQ: Häufige Fragen

1. Wie viele Kombinationen gibt es bei 6 Feldern und 4 Zuständen?
Es gibt insgesamt 4096 Kombinationen (4^6).

2. Kann ich die Testmatrix auch ohne VBA erstellen?
Ja, allerdings ist die Erstellung ohne VBA komplizierter und möglicherweise nicht so effizient. VBA ist die beste Methode, um alle Kombinationen automatisiert zu generieren.

3. Funktioniert das in allen Excel-Versionen?
Ja, der VBA-Code funktioniert in den meisten modernen Excel-Versionen, die VBA unterstützen (z.B. Excel 2010 und neuer).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige