Home |
Search |
Today's Posts |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 3/14/2010 7:14 PM, Dennis Tucker wrote:
What is the best method to make a list of randomized(non-repeating) numbers between a start value and a end value? Hi. Just as a side note, the "Best Method" may 'depend' on your size also. Most algorithms first generate all numbers, then pick unique values. However, this may be impractical if you have to pick from a size of 1 million. Not quite what I use, but an algorithm may want to branch off and do something like this if you had to pick 6 numbers from 10,000,000 Sub Demo() [A1:A6] = WorksheetFunction.Transpose(RandomSample(6, 1, 10000000)) End Sub Function RandomSample(n, L, H) Dim d Dim x Set d = CreateObject("Scripting.Dictionary") Do While d.Count < n x = Int(Rnd * (H - L + 1)) + L If Not d.exists(x) Then d.Add x, x Loop RandomSample = d.keys End Function However, your main program would not want to call this routine if you wanted to pick 100 numbers out of 100. The program would have to loop, on average, 518 times. Hence, the above would not be efficient. = = = = = = = HTH :) Dana DeLouis |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Method "Method 'Open' of object 'Workbooks' failed | Excel Programming | |||
Please post this thread a correct full method, method about | New Users to Excel | |||
Please post this thread a complete correct method, method about te | New Users to Excel | |||
GetObject method not work after Call Shell Method | Excel Programming | |||
Why QUIT method doesn't work after COPY method? | Excel Programming |