excel中rand函数
rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
Excel用法:
基本用法:2003版以上的Excel中,直接在单元格输入=RAND()
得到大于等于0,小于1的随机数
其他变形生成方法:
①生成A与B之间的随机数字(A≤随机数<B)
在第一个格子中输入:=RAND()*(B-A)+A
如,生成1到10之间的随机数字,输入:=RAND()*9+1
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
②生成A与B之间的随机整数(A≤随机数<B)
在第一个格子中输入:=INT(RAND()*(B-A)+A)
如,生成1到10之间的随机整数,输入:=INT(RAND()*9+1)
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
③生成A与B之间的随机数字(A≤随机数≤B)
在第一个格子中输入:=RAND()*(B-A+1)+A
如,生成1到100的随机数字,输入:=RAND()*100+1
但这个公式会出现大于B的数字,例如生成-12到12的随机数,例如公式=RAND()%(12+12+1)-12,当RAND生成为0.99的数值时,就会产生12.75的数字。
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
④生成A与B之间的随机整数(A≤随机数≤B)
在第一个格子中输入:=INT(RAND()*(B-A+1)+A)
如,生成1到100的随机整数,输入:= INT(RAND()*100)+1
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
⑤若是2007或2010版,生成A与B之间的随机整数(A≤随机数≤B)
在第一个格子中输入:=RANDBETWEEN(A,B)即可。
如,生成1到10之间的随机整数,输入:=RANDBETWEEN(1,10)
如想得到随机小数,则输入:=RANDBETWEEN(1,100)/10
使用时在单元格直接输入=rand()
示例:
①生成0到5之间的随机数字,=rand()*5
②生成10到100之间的随机数,=rand()*90+10
原理:0.2-0.1为最大值减最小值 +0.1为加最小值
这个我刚刚弄明白,不过如果在4.5-4.9之间变的话,最后应该加多少呢?
+4.5
=ROUND((4.9-4.5)*RAND()+4.5,3)