Clever-Excel-Forum

Normale Version: Zufallszahlen Generierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen :43:,

suche einen Code oder eine Formel, mit dem sechs Zufallszahlen für Lotto 6 aus 49 in spezieller Weise generiert werden. Jede Zufallszahl sollte separat gezogen werden. Die Anzahl der Erzeugung soll in einer Zelle eingetragen werden können: z. B. soll für jede der sechs Zahlen 100.000 Mal gelost/simuliert werden. Also Excel erstellt 100.000 Mal eine Zufallszahl und überträgt diese in eine andere Zelle; dann macht es das 100.000 Mal mit der zweiten Zahl bis zur sechsten. 
Hat jemand einen Vorschlag, wie das aussehen könnte?

:90: 
Hi,

was soll das werden? Ich kann Dir gerade nicht folgen.
Hi,

Code:
Option Explicit

Sub ll()
Randomize
Dim arr(1 To 100000, 1 To 6)
Dim lngR As Long, y As Integer, i As Integer
For lngR = 1 To 100000
    For i = 1 To 6
        arr(lngR, i) = Int(49 * Rnd + 1)
        For y = 1 To i - 1
            If arr(lngR, i) = arr(lngR, y) Then
                i = i - 1
                Exit For
            End If
        Next
    Next
Next
Range("A1:F100000").Value = arr
End Sub
Hallo Chris,

im Prinzip war deine Lösung gut :28:. Ich habs Mal mit 5.000.000 getestet. So viele Zeilen zu erstellen schafft Excel 2010 aber nicht und stürzt ab. 
Geht das auch ohne Erstellung von so vielen Zellen, also dass die Auslosung in sechs Zellen stattfindet?
Hi,

Excel schaft auch keine 1.048.577 Zeilen.... da die Zeilenanzahl begrenzt ist auf 1.048.576
Natürlich könnte ich jetzt in 6 Zellen das 5 Mill. mal überschreiben lassen
aber mir entzieht sich dabei der Sinn. Wenn du so nett sein würdest und uns beschreibst was du eigentlich erreichen willst.....

ggf. kann ja jemand weiterhelfen, ich bin mal wieder offline für eine Weile.
Hallo Chris und Opa Edgar,

das soll halt quasi Lottoziehungen simulieren, nur eben nicht ein Mal, sondern viele Ziehungen. Mein Gedanke ist der:
es gibt ja schon Rechner im Inet, mit denen man emulieren kann, wie lange man bräuchte, um einen Sechser zu kriegen - die rechnen dann meist so 5.000 Jahre oder mehr aus. Ich will quasi dem zuvor kommen und viele Ziehungen spielerisch emulieren können - auch, wenn ein Mathematiker vom Kopf her sagen wird, dass alle Zufallszahlen statistisch gleich hohe Chancen haben, ob nun ein Mal oder 1.000.000 Mal generiert.

:21:
Hi,

das Makro eben 5x durchlaufen lassen und in nebeneinanderliegende Bereiche schreiben:

Code:
Option Explicit

Sub ll()
Randomize
Dim arr(1 To 1000000, 1 To 6)
Dim lngR As Long, y As Integer, i As Integer, lngA As Long
For lngA = 1 To 5
    For lngR = 1 To 1000000
        For i = 1 To 6
            arr(lngR, i) = Int(49 * Rnd + 1)
            For y = 1 To i - 1
                If arr(lngR, i) = arr(lngR, y) Then
                    i = i - 1
                    Exit For
                End If
            Next
        Next
    Next
    Range(Cells(1, (lngA - 1) * 7 + 1), Cells(1000000, lngA * 7 - 1)).Value = arr
    Erase arr
Next
End Sub
Hallo Opa Edgar,

du bist ein toller Opa! Vielen Dank für deine Hilfe und deine Mühe! Du hast meinen Wunsch erfüllt. 

:19: