欢迎来到天天文库
浏览记录
ID:1482117
大小:38.00 KB
页数:6页
时间:2017-11-11
《excle中如何生成随机数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、=RAND()此函数是生成0~1之间的随机小数。若要生成a与b之间的随机实数,应使用:=RAND()*(b-a)+a所以若生成1与10之间的随机实数,应使用:=RAND()*9+1A1输入=rand()下拉至A1000B1输入1,B2输入2,下拉至B1000,即B1000是1000点选a1:b1000,以A列排序B列便是1-1000的随机数,且不重复再来看下一个函数,求整函数=int(a)表示的是求不大于a的最大整数,比如int(6.78)=6;int(9)=9;int(-1.5)=-2int(π)=3现在把这两个函数结合到一起,就可以完成你的问题了。选
2、中某一列的第一行的单元格,在其中输入=int(rand()*9)+1或者输入:=int(rand()*9+1)都可以得到1-10之间的一个随机整数。然后用鼠标拖动该单元右下角的填充柄向下拖动,就可以得到一列符合条件的1-10之间的随机整数了。用同样的方法你也可以得到一行或多行或多列甚至一个工作表的随机数。在excel中如何产生不重复随机数?问题:如何在Excelb2:b101中,填充1-100范围的不重复随机数? 方法:Sub不重复随机数() Fori=2To101 Range("b"&i)="" ‘初始化要填充的范围
3、 Nexti Fori=2To101 Range("b"&i)=Int(Rnd()*100)+1 DoWhileWorksheetFunction.CountIf(Range("b2:b101"),Range("b"&i))>1 Range("b"&i)=Int(Rnd()*100)+1 Loop NextiEndSub注:(1)VBA中有随机函数rnd(),功能是:返回一个小于1,同时大于等于0的随机数。若要产生一个范围从lowerbound为m,到upperbound为n的随机数序列,
4、常用算法是:int(rnd()*(n-m+1))+m(2)countif()是Excel工作表中的函数,不可在VBA中直接调用,可以用“worksheetfunction.函数”作为方法来调用工作表函数。MyValue=Int((6*Rnd)+1)'生成1到6之间的随机数值。提供两组公式来生成不重复的1~25的随机数值: (1)单元格A1:=RANK(INDIRECT("G"&((ROW(1:1)-1)*5)+COLUMN()),$G$1:$G$25) 复制单元格A1,粘至单元格A1:E5。 公式的原理为: 将随机数值来拿排序(RANK函数),生
5、成1~25的数值(基不上名次重复的机率应该是很低的)。 INDIRECT("G"&((ROW(1:1)-1)*5)+COLUMN()):将5×5的单元格对照到单元格G1:G25。 (2)单元格A1:=RANK(OFFSET($G$1,(ROW(1:1)-1)*5+COLUMN(A:A)-1,,,),$G$1:$G$25) 本式的原理和(1)很接近,只是将INDIRECT函数以OFFSET函数来取代,以取得地址。使用方法:1、选择要填充随机数的单元格范围,2、点击按钮3、输入随机区间的上限值4、输入下限值5、不重复的随机数就自动填充到你选择的单元格内
6、了注意:1、如果提示启用宏,则启用哦2、选择的单元格不要多于随机区间内的整数个数随机数RAND()语法RAND()RAND函数详解:返回大于等于0及小于1的均匀分布随机实数,每次计算工作表时都将返回一个新的随机实数。注解:若要生成a与b之间的随机实数,请使用:RAND()*(b-a)+a公式“=RAND()*1000”返回一个大于等于0、小于1000的随机数如果要使用函数RAND生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。例1:EXCEL随机数10到-10:=INT
7、(RAND()*20-10)或=RAND()*(10-(-10))+10=RAND()*(10+10)+10这个函数就是RandBetwween(bottom,top),表示生成从bottom到top之间的随机整数。 2、我们在Excel工作表的单元格中输入“=RandBetwween(10,100)”,不包括引号。如果要产生大于等于M而小于等于N的随机整数,就可以使用这样的通用公式:=INT(RAND()*(N-M))+MRANDBETWEEN(bottom,top) Bottom参数:随机数的下限。 Top参数:随机数的上限。 bottom,
8、top两个参数,用来确定您要想取得的随机数的范围; 比如,您要返回大于等于1而
此文档下载收益归作者所有