excle中如何生成随机数

上传人:平*** 文档编号:14746807 上传时间:2017-11-02 格式:DOC 页数:6 大小:39.22KB
返回 下载 相关 举报
excle中如何生成随机数_第1页
第1页 / 共6页
excle中如何生成随机数_第2页
第2页 / 共6页
excle中如何生成随机数_第3页
第3页 / 共6页
excle中如何生成随机数_第4页
第4页 / 共6页
excle中如何生成随机数_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《excle中如何生成随机数》由会员分享,可在线阅读,更多相关《excle中如何生成随机数(6页珍藏版)》请在金锄头文库上搜索。

1、=RAND() 此函数是生成 01 之间的随机小数。若要生成 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)=-2 int()=3现在把这两个函数结合

2、到一起,就可以完成你的问题了。选中某一列的第一行的单元格,在其中输入=int(rand()*9)+1或者输入:=int(rand()*9+1)都可以得到 1-10 之间的一个随机整数。然后用鼠标拖动该单元右下角的填充柄向下拖动,就可以得到一列符合条件的 1-10 之间的随机整数了。用同样的方法你也可以得到一行或多行或多列甚至一个工作表的随机数。在 excel 中如何产生不重复随机数?问题:如何在 Excel b2:b101 中,填充 1-100 范围的不重复随机数? 方法:Sub 不重复随机数()For i = 2 To 101Range(b & i) = 初始化要填充的范围Next iFor

3、 i = 2 To 101Range(b & i) = Int(Rnd() * 100) + 1Do While WorksheetFunction.CountIf(Range(b2:b101), Range(b & i) 1Range(b & i) = Int(Rnd() * 100) + 1LoopNext iEnd Sub注:(1)VBA 中有随机函数 rnd(),功能是:返回一个小于 1,同时大于等于 0 的随机数。若要产生一个范围从 lowerbound 为 m,到 upperbound 为 n 的随机数序列,常用算法是:int(rnd()*(n-m+1)+m(2)countif()

4、是 Excel 工作表中的函数,不可在 VBA 中直接调用,可以用“worksheetfunction.函数”作为方法来调用工作表函数。MyValue = Int(6 * Rnd) + 1) 生成 1 到 6 之间的随机数值。提供两组公式来生成不重复的 125 的随机数值:(1) 单元格 A1:=RANK(INDIRECT(G&(ROW(1:1)-1)*5)+COLUMN(),$G$1:$G$25)复制单元格 A1,粘至单元格 A1:E5。公式的原理为:将随机数值来拿排序(RANK 函数) ,生成 125 的数值(基不上名次重复的机率应该是很低的) 。INDIRECT(G&(ROW(1:1)-

5、1)*5)+COLUMN():将 55 的单元格对照到单元格 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、不重复的随机数就自动填充到你选择的单元格内了注意:1、如果提示启用宏,则启用哦2、选择的单元格不要多于随机区间内的整数个数随机数 RAND()语法 RAND( )RAND 函数详解:返回

6、大于等于 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这个函数就是 RandBetwwe

7、en(bottom,top),表示生成从bottom 到 top 之间的随机整数。2、我们在 Excel 工作表的单元格中输入“=RandBetwween(10,100)”,不包括引号。如果要产生大于等于 M 而小于等于 N 的随机整数,就可以使用这样的通用公式:=INT(RAND()*(N-M)+MRANDBETWEEN(bottom,top)Bottom 参数:随机数的下限。Top 参数:随机数的上限。bottom,top 两个参数,用来确定您要想取得的随机数的范围;比如,您要返回大于等于而小于等于 10 的随机整数,那么,用法为:=RANDBETWEEN(1,10)请注意,该函数返回的是

8、一定范围内的随机整数,取值范围包括上限和下限值,即,取值范围为:bottom,top在 A1 里面 A1-A999 中用公式生成 999 个随机数=RAND() B1-B60 中用公式排序,B1 中输入=RANK(A1,$A$1:$A$999),一直拉到 B60 B1: B60 就是 1-60 个不重复的随机数字excel 工作表窗口中,同时按 ALT 和 F11 两个键,进入 VBA 编程界面,然后点击 VBA 菜单;“插入模块 ”,在右栏的空白区粘贴代码回到 excel 工作表窗口,点击菜单:工具宏宏,点选宏的名字 yyy,再点击“执行 ”按钮在 A1:A60 自动生成不重复的随机数sub

9、 yyy()Dim i As Integer, j As Integer, a(1 To 60) As IntegerRandomizeFor i = 1 To 60a(i) = Int(Rnd * 60) + 1For j = 1 To i - 1If a(i) = a(j) Thenj = i - 1i = i - 1End IfNextNextRange(a1).Resize(i - 1, 1) = Application.Transpose(a)end sub使用方法:1、选择要填充随机数的单元格范围,2、点击按钮3、输入随机区间的上限值4、输入下限值5、不重复的随机数就自动填充到你选择的单元格内了注意:1、如果提示启用宏,则启用哦2、选择的单元格不要多于随机区间内的整数个数=-MID(C1,INT(RAND()*(LEN(C1)/2)+1)*2-1,2)在在 A1单元格中输入函数单元格中输入函数 =INT(RAND()*999999)然后在然后在 B1单元格中输入单元格中输入 =A1,再在,再在 B2单元格中输入单元格中输入=IF(COUNTIF(B$1:B1,A2)=1,A2),最后将,最后将 B列单元格中的数据进行升序列单元格中的数据进行升序排列排列

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号