hi all,
If we use Randbetween function (1,0) it should give us 50/50 in a long run. But it's accuracy has been questioned before:
Since this is the top result in Google for "how good is Excel's RAND() function" it is worth updating the answers for later versions of Excel
This paper by Guy Melard "On the accuracy of statistical procedures in Microsoft Excel 2010" tested the RAND() function in Excel 2010 and found it to be substantially improved over 2007 or 2003. Microsoft switched from an incorrect Wichmann and Hill generator (2007/2003) to the Mersenne Twister algorithm which has a much, much greater cycle length.
The authors of that paper ran it through "Small Crush", "Crush" and "Big Crush" tests for randomness and it passed nearly all of the tests.
So while it certainly isn't the same as True random numbers, the RAND() function in Excel 2010, and presumably newer versions, can no longer be considered terrible.
It should be noted however, that Excel 2010 still uses two completely different algorithms for the VBA random number generator, and the RNG that is in the data analysis tool-kit. According to Melard, both of those are still terrible, and in fact the VBA uses the same seed number each each time so produces the same numbers.
My biggest complaints with the random numbers in Excel are
So my question is this - using Excel 2016 how I can create accurate probability distribution? For example having in mind the Law of Large Numbers I would like to create function which would return specific probability - let's say 63% to 37%
Any ideas how to do it?
If we use Randbetween function (1,0) it should give us 50/50 in a long run. But it's accuracy has been questioned before:
Since this is the top result in Google for "how good is Excel's RAND() function" it is worth updating the answers for later versions of Excel
This paper by Guy Melard "On the accuracy of statistical procedures in Microsoft Excel 2010" tested the RAND() function in Excel 2010 and found it to be substantially improved over 2007 or 2003. Microsoft switched from an incorrect Wichmann and Hill generator (2007/2003) to the Mersenne Twister algorithm which has a much, much greater cycle length.
The authors of that paper ran it through "Small Crush", "Crush" and "Big Crush" tests for randomness and it passed nearly all of the tests.
So while it certainly isn't the same as True random numbers, the RAND() function in Excel 2010, and presumably newer versions, can no longer be considered terrible.
It should be noted however, that Excel 2010 still uses two completely different algorithms for the VBA random number generator, and the RNG that is in the data analysis tool-kit. According to Melard, both of those are still terrible, and in fact the VBA uses the same seed number each each time so produces the same numbers.
My biggest complaints with the random numbers in Excel are
- You can't set the seed, so the numbers are not reproducible
- The random numbers update every time you press enter/delete, and even if you set calculation options to Manual, they still update when you save the Excel file
So my question is this - using Excel 2016 how I can create accurate probability distribution? For example having in mind the Law of Large Numbers I would like to create function which would return specific probability - let's say 63% to 37%
Any ideas how to do it?
Last edited: