サンプリング ツールを作成しようとしています。
0 から 3000 の間でランダムに生成された数字を 500 の倍数で選択して、それらの合計が固定数 (12 スロットで 10000 など) になるようにする必要があります。
その上で、約 100000 から 1000000 までの複数回の反復を実行する必要があります (まだ決定されていません。
私のアプローチは、2 次元配列を作成し、反復の合計を検証するための制約を設定し、条件が真の場合にのみそれを最終的なデータ サンプルに入力することです。
私は次のコードでいくつかの非常にひどい間違いを犯しています...
Public Sub Generatenums()
Dim GRP() As Long, Random() As Long
Dim RandomTotal As Long, t As Long, w As Long, i As Long, j As Long
ReDim GRP(1 To 100, 1 To 12)
ReDim Random(1 To 12)
For i = 1 To 100
For j = 1 To 12
Random(j) = Int(Rnd() * 7) * 500
RandomTotal = RandomTotal + Random(j)
Next j
If RandomTotal = 10000 Then
For k = 1 To 12
GRP(i, k) = Random(k)
Next k
End If
Next i
Range("A1").Select
For t = 1 To 100
For w = 1 To 12
Cells(t, w).Value = GRP(t, w)
Next w
Next t
End Sub