当前位置:文档之家› excel取随机数

excel取随机数

EXCEL—随机数+取余
随机数RAND()
语法RAND( )
RAND函数详解:返回大于等于 0 及小于 1 的均匀分布随机实数,每次计算工作表时都将返回一个新的随机实数。
注解:若要生成 a 与 b 之间的随机实数,请使用:RAND()*(b-a)+a
公式“=RAND()*1000”返回一个大于等于0、小于1000的随机数

如果要使用函数 RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按 F9,将公式永久性地改为随机数。

例1:EXCEL随机数10到-10:
=INT(RAND()*20-10)
或=RAND()*(10-(-10))+10=RAND()*(10+10)+10

例2:求EXCEL随机数(要求:如1-1000的随机数,不得重复,且1-1000必须有!)
A1 输入 =rand()
下拉至A1000
B1 输入 1, B2 输入 2, 下拉至 B1000, 即B1000 是 1000
点选a1:b1000, 以A列排序
B列便是 1-1000的随机数, 不重复

例3:用excel生成随机数是否是必须指定数字区间(如10-20)范围?不指定一区间、而单指定一个数(如0.6)可以该数附近的随机数吗?
因为你没有指定单个数“周围”的具体范围,所以无法生成随机数。
但是可以得到计算以该数为单位1的周围的数。假设数在A1,则
=A1+(RAND()-RAND())*A1
比如0.6,就会求出 0.6±0.6范围的随即数
2,就会求出 2±2之间的随机数

例4:用什么方法可以让Excel生成一列限定了大小的随机数,比如生成0.8-5之间的随机数,我的主要目的是使H列的数等于B列的相应数乘0.4-1.2之间的随机数(要随机数不因其它数据变化发生变化)
0.4-1.2之间的随机整数 公式:randbetween(0.4,1.2)
如在H1单元格中输入:
=B1*randbetween(0.4,1.2)
0.4-1.2之间的随机实数 公式:rand()*(1.2-0.4)+0.4
如在H1单元格中输入:
=B1*rand()*(1.2-0.4)+0.4
你要的应该是实数,所以推荐第二个公式

用=rand()函数.
分析如下:
rand()函数的范围是0-1.
你需要的是0.4-1.2,范围是0.8*1。中间值是(0.4+1.2)/2=0.8,最小值是 中间值-范围/2=0.8-0.4=0.4。所以在一个单元里输入:=rand()*0.8+0.4。用自动填充向下 拉一下就可以了。

EXCEL中的ROUND函数
四舍五入到规定位数:round(A1,0)

Excel自动求商
在Excel内置的粘贴函数中,与除法相关的函数有两个:
MOD(被除数,除数)——返回两数相除的余数。
QUOTIENT(被除数,除数)——返回商的整数部分。
比如
=MOD(5,2)
回车确认后的返回值是余数1。
=QUOTIENT(5,2)
回车确认后返回的值是商的整数部分2。
如果计算两数(或几个数)的商,可以直接编辑数学运算公式求商,编辑的公式可以复制使用。




要做一堆数据
但是数量很多
就是自己在一定范围内编随机数
量非常多

给个数据区间吧。哈哈。
一般要整数的话
公式=INT(RA

ND()*X+Y)
看你区间多少。
如果会用excel中去随机数的方法
就会省很多时间呢
X,Y就随你的区间数变化的。
还有一种公式是randif.
公式=RANDIF(X+Y,0)
如果我没记错应该是这样。你可以百度看看。
在这个公式里,X就是基础数量,Y就是表示浮动数,0就表示要求整数。




excel提取随机数
在excel表格中要提取一组数字,要求:数字在97-93之间,超出此范围的数字出现概率为15%
问题的关键在于如何控制超出93-97的数字出现概率为15%
公式:=IF(AND(RANDBETWEEN(1,100)>0,RANDBETWEEN(1,100)<86),RAND()*4+93,IF(RANDBETWEEN(0,1)=0,94-1/RAND(),96+1/RAND()))

注释:1、RANDBETWEEN(1,100)产生1到100之间随机整数,用来控制目标数出现的概率;
2、AND(RANDBETWEEN(1,100)>0,RANDBETWEEN(1,100)<86),选择RANDBETWEEN(1,100)产生的1到100之间随机整数之中1到85之间的整数,有85%的概率出现,此时IF函数的结果是RAND()*4+93,即93-97之间的随机数;
3、否则(也就是RANDBETWEEN(1,100)产生的是86到100之间的整数,有15的概率出现),选择93-97之外的数字;
4、94-1/RAND()产生小于93的数,96+1/RAND()产生大于97的数,IF(RANDBETWEEN(0,1)=0,94-1/RAND(),96+1/RAND())表示在小于93的数和大于97的数之间随机选择一个。

相关主题
文本预览
相关文档 最新文档