So erstellen Sie eine Liste der möglichen Kombinationen von N Würfeln in Excel

1

Ich möchte die möglichen Kombinationen von 2,3,4,5,6 usw. Würfeln auflisten.

Zum Beispiel:

Für 2 Würfel ist Zelle A1 11 (1 & 1). Ich möchte die Zelle nach unten ziehen, um automatisch die folgenden 2-Würfel-Werte hinzuzufügen:

12
13
14
15
16
22
23
24
...
55
56
66

(Insgesamt 21 Kombinationen)

Um alle Werte von N Würfeln aufzulisten, beginnen wir mit den Minimalwerten (für N = 3: 1,1,1). Ich wollte nur diese erste Zelle ziehen und damit die nächsten Zahlen als nächste Kombination der Würfel erscheinen. Dies bedeutet, dass Excel mit BASE 6 und nicht mit 10 inkrementiert und Kombinationen ausgeschlossen werden sollen, die bereits in einer anderen Reihenfolge aufgetreten sind. Ich möchte die resultierenden Werte als Zeichenfolge haben. Wenn also eine der Zahlen (4 Würfel) 1126 wäre, muss die nächste 1133 und nicht 1127 sein.

Ist dies für 2,3,4,5,6 Würfel erreichbar?

SKYTTEN
quelle
Es ist nicht klar, was Sie versuchen oder was die Zahlen darstellen (woher kommt 11? Was ist die Quelle der Bereiche, die Sie hinzufügen möchten?)
Fixer1234
Es tut mir leid, 11 ist eine minimale Summe von 2 Würfeln.
SKYTTEN

Antworten:

1

Mit VBA wäre dies wahrscheinlich einfacher, aber mit Formeln ist dies möglich. Ich arbeite in LibreOffice Calc, das eine niedrigere maximale Anzahl von Zeichen pro Formel aufweist. Daher musste ich Hilfsspalten verwenden. Sie können dies jedoch zu einer einzigen Formel zusammenfassen, wenn Sie möchten. Ich habe dies um maximal sechs Würfel herum gebaut, aber wenn Sie dem Muster in den Hilfsspalten folgen, können Sie es auf so viele erweitern, wie Sie möchten.

Bildschirmfoto

In Zelle A1 steht Ihre Startnummer. Normalerweise wäre es eine 1für jeden Würfel. Ich begann damit 123456, die Logik zu veranschaulichen. Die Spalten C bis H sind die Hilfssäulen, eine für jeden von bis zu sechs Würfeln. Diese Zellen ermitteln jeweils den nächsten Wert. Spalte A verkettet die Werte zu einer einzigen Zeichenfolge. Geben Sie die Formeln für Zeile 2 ein und kopieren Sie die Zeile nach unten, um so viele Felder wie nötig vorab auszufüllen (nicht benötigte Zellen sind leer und Sie können die Spalten C: H ausblenden, wenn Sie möchten).

Die Formel in A2:

=IF(A1="","",C2&D2&E2&F2&G2&H2)

Der Blindversuch verbirgt nicht benötigte Zellen. Wenn Sie alles in eine einzige Formel umwandeln möchten, ersetzen Sie die Referenzen durch die Formeln in C2: H2.

Die Formeln in C2: H2 lauten wie folgt:

C2:  =                IF(VALUE(LEFT(A1,1))=6,"", VALUE(LEFT(A1,1)) +          OR(VALUE(MID(A1,2,1))=6))
D2:  =                IF(VALUE(MID(A1,2,1))=6,C2,VALUE(MID(A1,2,1))+IF(LEN(A1)>2,VALUE(MID(A1,3,1))=6,1))
E2:  =IF(LEN(A1)<3,"",IF(VALUE(MID(A1,3,1))=6,D2,VALUE(MID(A1,3,1))+IF(LEN(A1)>3,VALUE(MID(A1,4,1))=6,1)))
F2:  =IF(LEN(A1)<4,"",IF(VALUE(MID(A1,4,1))=6,E2,VALUE(MID(A1,4,1))+IF(LEN(A1)>4,VALUE(MID(A1,5,1))=6,1)))
G2:  =IF(LEN(A1)<5,"",IF(VALUE(MID(A1,5,1))=6,F2,VALUE(MID(A1,5,1))+IF(LEN(A1)>5,VALUE(MID(A1,6,1))=6,1)))
H2:  =IF(LEN(A1)<6,"",IF(VALUE(MID(A1,6,1))=6,G2,VALUE(MID(A1,6,1))+1))

Ich habe Leerzeichen hinzugefügt, um die Formelmuster auszurichten, damit die Logik leichter zu erkennen ist. Sie können diese entfernen. Sie haben mindestens zwei Würfel, sodass die ersten beiden Formeln nicht prüfen müssen, ob sie vorhanden sind. Wenn der erste Würfel erreicht ist 6, können alle anderen nur sein 6, also ist es die letzte Reihe. Die ODER-Funktion in C2 liegt daran, dass LO Calc die Auswertung des Booleschen Ausdrucks verhindert hat. der OP erzwingt es (und tut nichts weh). Der letzte potenzielle Würfel muss keinen Wert von einem nächsten übertragen, daher ist seine Formel etwas kürzer.

Beachten Sie, dass die Spalten D bis H einen Verweis auf die vorherige Spalte enthalten. Wenn Sie dies in einer einzigen Formel zusammenfassen möchten, ersetzen Sie die C2-Referenz in D2 durch die C2-Formel. Machen Sie dasselbe für jede nachfolgende Spalte (die Formel wird dabei größer).

Hier ist die Ausgabe für zwei Würfel:

Screenshot 2

fixer1234
quelle
Das war wirklich unglaublich. Hat sich als perfekte Lösung für meine Aufgabe herausgestellt.
SKYTTEN
Ich habe dieselbe Aufgabe auf 7 Würfel erweitert (um zum Teil die Logik hinter den 6 Würfelformeln zu verstehen). Ich habe für die Würfel 6 verwendet: H2: = IF (LEN (A1) <6, "", IF (VALUE) (MITTEL (A1,6,1)) = 6, G2, WERT (MITTEL (A1,6,1)) + WENN (LEN (A1)> 6, WERT (MITTEL (A1,6,1)) = 6, 1))). und für Würfel 7: I2: = IF (LEN (A1) <7, "", IF (VALUE (MID (A1, 7, 1)) = 6, H2, VALUE (MID (A1, 7, 1)) + 1)) Aber es funktioniert nicht. Das Blatt wiederholt den gleichen Zyklus: 111,1111 bis 111,1116 und 111,1111 erneut. Könnten Sie bitte beraten?
SKYTTEN
@SKYTTEN: Ich habe mich nur um Ihre Formeln gekümmert und kein offensichtliches Problem festgestellt. Ich muss mich darum kümmern. Mir ist gerade aufgefallen, dass Sie ein Komma in Ihrer Startnummer haben. Können Sie bestätigen, dass Sie mit 1111111 beginnen?
Fixer1234
@ SKYTTEN: Es wurden zwei Probleme mit Ihrer Formel gefunden. Es hat funktioniert, nachdem ich sie korrigiert habe. Beide sind mit H2. 1) Als ich Ihre Formel aus dem Kommentar kopierte, war im letzten WERT zwischen U und E ein seltsames verstecktes Zeichen. Ich habe die Zeichen ersetzt und der Fehler ist verschwunden. 2) In der letzten MID-Funktion sollte dies 7 statt 6 sein, daher sollte MID (A1,7,1) gelesen werden.
Fixer1234
Danke noch einmal. Es hat gut funktioniert. Jetzt verstand ich mehr, wo "6" keine Würfel und nicht die Anzahl der Seiten auf jedem Würfel bedeutet. Ich bin mir nicht sicher, was das "seltsame" Zeichen ist. Ich habe die IPAD-Nummern verwendet, aber als ich die Formel in die Excel-Tabelle kopierte, funktionierte sie einwandfrei. Schätzen Sie Ihre Zeit und diese wertvolle Lektion.
SKYTTEN
1

In A1 geben Sie ein:

=ROW()

und nach unten kopieren. In B1 geben Sie ein:

=ROW()*6

und nach unten kopieren. In C1 geben Sie ein:

=B1-A1+1

und nach unten kopieren.

Spalte C repräsentiert die möglichen Werte für N Würfel.

Es ist erwähnenswert, dass die Anzahl der möglichen Ergebnisse ist:

(5 * die Anzahl der Würfel) + 1

Garys Schüler
quelle
Ich denke, ich habe wirklich schlecht erklärt, was ich wollte. Um alle Werte von N Würfeln aufzulisten, beginnen wir mit den Minimalwerten (für N = 3: 1,1,1). Ich wollte nur diese erste Zelle und die nächsten Zahlen ziehen, um als nächste Kombination auf den Würfeln zu erscheinen, dh das Excel, um zu "erraten", dass die BASIS 6 und nicht 10 ist, und die Würfelwerte als Zeichenfolge eintragen. Wenn also eine der Zahlen (4 Würfel) 1126 ist, muss die nächste 1133 sein und nicht 1127
SKYTTEN 24.10.15
@SKYTTEN Ihre Erklärung ist in Ordnung. Für drei Würfel beträgt das niedrigste Ergebnis 3 (drei Schlangenaugen) und das höchste Ergebnis 18 (3 x 6). Die Gesamtzahl der Ergebnisse beträgt also 16
Garys Schüler
@SKYTTEN: Wollen Sie alle tatsächlichen Kombinationen auflisten, nicht nur die Anzahl der möglichen Kombinationen?
Fixer1234
@ fixer1234: Das ist genau richtig.
SKYTTEN
@ SKYTTEN Entschuldigung .................... Ich habe es falsch verstanden
Garys Schüler
0

Sie können dies mit Formeln tun, aber für mehr als 2 Würfel wird es ziemlich schwierig, zu folgen.

Dies ist ein allgemeines Beispiel, es funktioniert für Würfel oder für jedes andere Beispiel. Angenommen, wir haben 3 Tabellen (Tabelle1 = A1: A7), (Tabelle2 = B1: B7) und (Tabelle3 = C1: C7). Erste Zeile ist Header (sagen wir Würfel1, Würfel2 und Würfel3).

Sie müssen die Formeln nach unten kopieren, bis Sie leere Ergebnisse erhalten (maximale Anzahl von Kombinationen erreicht).

(Möglicherweise müssen Sie ";" durch "," in Formeln als Parametertrennzeichen ersetzen.)

Für 2 Würfel (36 Kombinationen):

=IF(ROW()-ROW($F$2)+1>COUNTA(Table1)*COUNTA(Table2);"";INDEX(Table1;QUOTIENT(ROW()-ROW($F$2);COUNTA(Table2))+1)&INDEX(Table2;MOD(ROW()-ROW($F$2);COUNTA(Table2))+1))

Für 3 Würfel (216 Kombinationen):

=IF(ROW()-ROW($F$2)+1>COUNTA(Table1)*COUNTA(Table2)*COUNTA(Table3);"";INDEX(Table1;QUOTIENT(ROW()-ROW($G$2);COUNT(Table2)*COUNT(Table3))+1))&INDEX(Table2;MOD(QUOTIENT(ROW()-ROW($G$2);COUNT(Table3))+1;COUNT(Table3))+1)&INDEX(Table3;MOD(ROW()-ROW($G$2);COUNT(Table3))+1)

Wie funktioniert es:

  1. Die aktuelle Kombinationsnummer wird angegeben, ROW()-ROW($F$2) + 1wobei F2 die Zelle ist, in die Sie die erste Formel einfügen.

  2. Wir werden die ersten Würfelwerte alle 6 Reihen ( COUNTA(Table2)) mit Würfeln und alle 36 Reihen ( COUNTA(Table1)*COUNTA(Table2)) mit 3 Würfeln drehen .

  3. Die zweiten Würfelwerte werden in jeder Reihe mit 2 Würfeln und in jeder sechsten Reihe mit 3 Würfeln gedreht.

  4. Mit 3 Würfeln drehen wir den Würfelwert in jeder Reihe.

Eine alternative Methode wäre Microsoft Query (Daten / Aus anderen Quellen). Sie müssten so viele Blätter oder Tabellen erstellen (obwohl bei Tabellen "Diese Datenquelle enthält keine sichtbaren Tabellen" angezeigt wird und ich nicht herausfinden kann, warum, so dass es sich um Blätter handelt), die in Spalte A Werte von 1 bis 6 mit enthalten Überschriften wie "Würfel1", "Würfel2" und "Würfel3". Um das kartesische Produkt der 3 Mengen zu erhalten, wäre die Abfrage:

SELECT `Sheet1$`.Dice1 & `Sheet2$`.Dice2 & `Sheet3$`.Dice3 as  Combinations
FROM `Book1.xlsx`.`Sheet1$` `Sheet1$`, `Book1.xlsx`.`Sheet2$` `Sheet2$`, `Book1.xlsx`.`Sheet3$` `Sheet3$`

Es wird schwieriger sein, sich vorzubereiten, aber einfacher zu verstehen (wenn Sie sich mit grundlegendem SQL auskennen) und zu erweitern.

CFreitas
quelle