Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kombination aus Zahl ableiten

Kombination aus Zahl ableiten
25.12.2020 08:02:35
Kla
Moin, Moin, aus Hamburg
Ich suche eine Formel die durch Eingabe einer Zahl, eine Kombination zurück gibt.
Die Zahl habe ich folgend erstellt:
For a = 1 to 28
For b = a+1 to 29
For c = b+1 to 30
Kombination = Kombination + 1
Next c
Next b
Next a
d.h. die Kombination Nr.1 = 1,2,3
Kombination Nr.4060 = 28,29,30.
Hat jemand eine Idee?
Gruß und schöne Weihnachten.
Klaus

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombination aus Zahl ableiten
25.12.2020 09:12:13
Matthias
Hallo Klaus,
nimm mal ein leeres Tabellenblatt zum Testen.
Sub Kombi() Dim a&, b&, c&, Kombination& For a = 1 To 28 For b = a + 1 To 29 For c = b + 1 To 30 Kombination = Kombination + 1 Cells(Kombination, 1) = Kombination Cells(Kombination, 2) = a & ", " & b & ", " & c Next c Next b Next a End Sub
Tabelle1

 AB
111, 2, 3
221, 2, 4
331, 2, 5
441, 2, 6
551, 2, 7
4049404925, 28, 30
4050405025, 29, 30
4051405126, 27, 28
4052405226, 27, 29
4053405326, 27, 30
4054405426, 28, 29
4055405526, 28, 30
4056405626, 29, 30
4057405727, 28, 29
4058405827, 28, 30
4059405927, 29, 30
4060406028, 29, 30


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
schöne Feiertage
Gruß Matthias
Anzeige
AW: Kombination aus Zahl ableiten
25.12.2020 10:17:15
Kla
Hallo Matthias,
danke für Deine schnelle Antwort. Leider beantwortet das nicht meine Frage.
Ich suche eine >FORMEL Schleife a=1, b=3, c=1 ergibt (b-2)*(30-b)+c = 28
Das ist nur ein Teil der Formel, wie ich sie mir vorstellen könnte.
Gruß Klaus
Für 2er-Kombis geht es so: xxcl.de/0072.htm
25.12.2020 11:22:17
lupo1
http://xxcl.de/0072.htm
Die längere Formel mit umgedrehtem Datenmaterial anwenden. Sie benötigt keine Vorgängerberechnungen.
Entsprechende Formeln für 3er-Kombis (oder mehr) habe ich noch nicht ermittelt. Sie dürften individuell sein.
AW: Für 2er-Kombis geht es so: xxcl.de/0072.htm
25.12.2020 12:02:37
Kla
Hallo Lupo1,
das Problem ist der Schleifendurchlauf von c.
Der erste Durchlauf von c beträgt 27 Schritte. b=(b+1)*27 + c=1 Ergebnis =28
Der zweite Durchlauf von c = 26 Schritte. b=(b+2)*27 [27+26 wäre Richtig] + c=1 falsches Ergebnis =55 soll 54
Mit einfacher Multiplikation ist das wohl nicht getan.
Gruß Klaus
Anzeige
Ich habe doch gesagt, dass ich 3er-Kombis ...
25.12.2020 12:09:09
lupo1
... noch nicht in dieser gefragten Weise behandelt habe.
Eine Formellösung ohne Schleifen gibt es da bestimmt, in ähnlicher Weise wie beim 2er.
AW: Ich habe doch gesagt, dass ich 3er-Kombis ...
25.12.2020 12:27:17
Kla
Hallo Lupo1,
Dein Link hat nicht funktioniert.
LG
Dann solltest Du den Fehler bei Dir selbst suchen
25.12.2020 22:10:13
lupo1
Was macht man mit einem Link, "der nicht funktioniert"? In welcher Weise behandelt man ihn?
AW: Dann solltest Du den Fehler bei Dir selbst suchen
26.12.2020 00:40:28
Kla
Hast recht. Ist aber nicht die Lösung, die ich suche.
Das ist keine Neuigkeit. Überflüssige Antwort.
26.12.2020 00:50:01
lupo1
AW: Kombination aus Zahl ableiten
26.12.2020 18:16:14
onur
Quick&Dirty - DAS in ein allg. Modul schreiben und als normale EXCEL-Funktion benutzen.
z.B.: =FormelX(4060)
Public Function FormelX(x As Long) As String
Dim a, b, c, nr
For a = 1 To 28
For b = a + 1 To 29
For c = b + 1 To 30
nr = nr + 1
If x = nr Then
FormelX = a & ";" & b & ";" & c
Exit Function
End If
Next c
Next b
Next a
End Function

Anzeige
AW: Kombination aus Zahl ableiten (als Formel)
27.12.2020 01:54:02
Kla
Hallo onur,
danke für Deinen Vorschlag. Ich beschäftige mich z.Zt. mit 6 verschachtelten Schleifen aus 49 Zahlen (was wohl?) unter Berücksichtigung der Laufzeit. Meine Routine braucht für 13.983.816 Durchgänge (incl. Suche und Anzeige von mehreren Werten) ganze 1,5 Sekunden. Wenn ich jetzt 100 Ziehungen mit allen möglichen Kombinationen auswerte, dann läuft mein Programm ca. 1 Stunde.
Es muß doch möglich sein, die Schleifen in einer Formel darzustellen.
Die R-G-B Farbnummer und die R-G-B Werte lassen sich auch mit Formeln finden.
Hast Du eine Idee ?
Gruß Klaus
AW: Kombination aus Zahl ableiten (als Formel)
27.12.2020 02:00:32
onur
Und wieso stellst du hier ein ganz anderes Problem ein, und nicht das Richtige?
Anzeige
AW: Kombination aus Zahl ableiten (als Formel)
27.12.2020 02:25:45
Kla
Mich interessiert die mathematische Berechnung von verschachtelten Schleifen, sowie die Laufzeitberechnung.
AW: Kombination aus Zahl ableiten (als Formel)
27.12.2020 22:18:04
Kla
Danke, das war schnell.
Im Code stecken aber Flüchtigkeitsfehler (Endpunkte der ersten 5 Schleifen).
Ich suche eine Formel, ähnlich wie mein Beispiel "Positionsberechnung". Also ohne Code.
https://www.herber.de/bbs/user/142604.xlsx
LG Klaus
AW: Kombination aus Zahl ableiten (als Formel)
27.12.2020 22:31:07
onur
"Im Code stecken aber Flüchtigkeitsfehler (Endpunkte der ersten 5 Schleifen)" - Klar, wenn DU als Experte es sagst!
Wenn es um Lottozahlen und deren 13.983.816 verschiedenen Kombinationen geht, zeigt mir dein Kommentar, dass du nix kapiert hast - das beweist ja auch dein ursprünglicher Code:
For a = 1 to 28
For b = a+1 to 29
For c = b+1 to 30

Was soll dieser Quatsch ?
Und jetzt kommst du wieder mit etwas Neuem an, was weder mit dem ERSTEN noch dem ZWEITEN "Problem" zu tun hat!
Dann suche mal weiter!
Anzeige
Danke für die Funktion
28.12.2020 02:39:05
Kla
Ich bitte um Entschuldigung, habe es zuerst nicht verstanden.
Als Funktion ist es natürlich eine Möglichkeit.
Ich danke für Deine Mühe und die neuen Erkenntnisse die ich erfahren habe.
Gruß Klaus
AW: Danke für die Funktion
28.12.2020 02:48:16
onur
Kein Problem.
Nochmal zu dem Code:
For a = 1 to 28
For b = a+1 to 29
For c = b+1 to 30

Das ist das selbe wie
For a = 1 to 30
For b = a+1 to 30
For c = b+1 to 30

da a sowieso nicht grösser als 28 werden kann wegen:
For b = a+1 to 29
For c = b+1 to 30

und b kann nicht 30 werden wg:
For c = b+1 to 30

Anzeige
AW: Kombination aus Zahl ableiten
27.12.2020 15:57:50
Matthias
Moin!
Habe mich auch mal mit der Problematik befasst. Also mit der eingangs gestellten Problematik. Da waren ja nur 3 Spalten angegeben.
Mittels VBA lässt sich das ganze geschmeidig und m.E. auch schnell lösen. Hat ja onur auch gezeigt. MIt Formeln sieht das etwas anders aus. Hättest du nur die 3 Schleifenwerte angegeben und die Zahl gewollt, hätte man das ggf. in eine schicke Formel schieben können (irgend eine Summe / Verkettung der Kombinationen bzw. Binominalkoeffizienten - Vermutung!). Du willst es nun andersherum machen. Das denke ich ist schwieriger. Ähnlich wie Multiplikation und Division als Gegenspieler. Die Mult ist einfach. Aus einer großen Zahl aber die Multiplikatoren zu finden etwas schwieriger.
Habe aber mal was gebastelt. Kommt aber nicht ohne einige Hilfsspalten aus. Zwei könnte man ggf. auch zusammenfassen, aber so was es für mich übersichtlicher. Die Datei ist so ausgelegt, das es auch allgemein berechnet wird und nicht nur für 28,29,30. Wenn du bspw. für die Schleifen nur 2,3,4 vorgibst, kannst du damit auch arbeiten. Die Zahlen müssen aber fortlaufend sein. Also 2,5,6 geht nicht. In den blauen Feldern gibst du die Schleifenendvariablen an. In der roten die Zahl, die du suchst und in den Gelben Feldern, erscheint die dazu gehörende SChleifenvariable. Darunter noch aus der links davon befindlichen Liste der Wert, der es sein sollte zum Vergleich.
In der Datei sind zudem noch 2 Buttons. Einer zählt die Zahl (im roten Feld) um 1 hoch - zum Testen. Mit dem Button Liste kannst du zu den jeweiligen Schleifenendvariablen die Liste links erzeugen.
https://www.herber.de/bbs/user/142595.xlsm
Bzgl. der Formeln gebe ich zu, dass die auf den ersten und zweiten Blick erschlagen. Letztendlich habe ich in den Hilfsspalten die Kombination zu den Variablen erstellt sowie einige Berechnungen zu den erhaltenen Werten und schlage darin nach.
Ob es einfacher geht weiß ich nicht. Evtl. könnte man bei einer anderen Anordnung der Hilfsspalten die Formel an sich verkürzen, da der SVERWEIS dann besser greift. Wäre dann u.U. nur noch halb so lang, da ein Vergleich entfällt und die Berechnung in den Zweigen identisch ist.
Und für weitere Variablen (bis zu 6) wird das Ganze inkl. der Formeln noch unübersichtlicher. Vom Prinzip her könnte man es aber ähnlich lösen. Die LIste der Kombinationen etc. brauchen dann nur andere Werte und die Formeln müssen geändert werden. ISt jetzt aber mal eine unbewiesene Vermutung.
Soweit mal noch zur Erläuterung.
VG
Anzeige
AW: Kombination aus Zahl ableiten (als Formel)
28.12.2020 00:29:30
Kla
Danke Matthias,
das es nicht einfach wird ist mir klar, aber der Rechner arbeitet logisch.
Als Hilfsmittel könnte ich mir eine Zahlenreihe vorstellen (28,27,26 ... u.s.w.).
Den Ansatz sehe ich hier:
(a-1)... + (b-2)*(29)-(b-2) + c-b 'ab b=4 passt es nicht mehr.
Ich arbeite noch dran.
Gruß Klaus
AW: Kombination aus Zahl ableiten (als Formel)
28.12.2020 14:58:21
Matthias
Moin!
Ich will dich nicht entmudigen, aber glaube dafür gibt es keine Formel / Lösung. Die Zahlen werden zwar logisch erstellt aber sind nicht wirklich linear. Man kann Algorithmen zum Lösen finden (ähnlich wie in meiner Datei) aber bei der Formel sehe ich schwarz. Dazu varieren die Kombinationen. Bei a = 5 gibt es zB 15 mal die Möglichkeit mit 1 zu beginnen, mit 2 sind es dann 10, 3 zu 6 usw.. Bei größeren Zahlen dann halt mehr. Für die 1. Zahl kännte man da ggf. eine Gleichung dritten Grades basteln und die Nullstellen finden. Die cardanische Formel zum Lösen, wird man aber nicht in Excel einbauen wollen. Und dann weiß man auch nicht, ob es klappt.
Falls du aber doch was findest, wäre es super.
Aber nochmal als Frage.
Willst du aus einer Zahl die Schleifenvariablen haben oder an Hand der Schleifenvariablen die zugehörige Zahl berechnen?
Wie geschrieben macht das einen Unterschied. Bei erster denke ich geht es nur mit einem Algorithmus. Die zweite Variante ggf. mit einer Formel.
VG
Anzeige
AW: Kombination aus Zahl ableiten (als Formel)
28.12.2020 20:18:19
Matthias
Moin!
Ich nochmal. Weiß wie gesagt nicht, ob du es brauchst, habe die Datei aber mal noch um eine Formel ergänzt, mit der an Hand der Variablen die Zahl errechnet wird.
Dazu die Felder unten befüllen. Die blauen sind wieder die maximalen Schleifenwerte (auch hier gilt, die Werte müssen fortlaufend sein). In die gelben Felder die gesuchten (tatsächlichen) Schleifenwerte eintragen und im roten Feld wird dir die Zahl dazu berechnet.
https://www.herber.de/bbs/user/142624.xlsm
Aber nicht wundern, das ist eine Formel mit verschiedenen Rechenoperationen, welche sich aus Kombinationen zusammen setzt. Kommt aber ohne Hilfsspalten aus. Auf Grund der Schwierigkeit der BErechnung ging das nicht ohne die Kombinationen.
VG
Anzeige
AW: Kombination aus Zahl ableiten (als Formel)
29.12.2020 00:37:50
Kla
Ich danke für Deine Bemühungen.
Wenn schon, denn schon, am besten beides.
Ich daddel noch ein bisschen weiter dran rum und melde mich, wenn ich etwas gefunden habe.
Guten Rutsch
Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige