网站大量收购闲置独家精品文档,联系QQ:2885784924

excle中如何生成随机数.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
=RAND() 此函数是生成0~1之间的随机小数。 若要生成 a 与 b 之间的随机实数,应使用: =RAND()*(b-a)+a 所以若生成1 与 10 之间的随机实数,应使用: =RAND()*9+1 A1 输入 =rand() 下拉至A1000 B1 输入 1, B2 输入 2, 下拉至 B1000, 即B1000 是 1000 点选a1:b1000, 以A列排序 B列便是 1-1000的随机数, 在excel中如何产生不重复随机数? 问题: 如何在Excel b2:b101中,填充1-100范围的不重复随机数? ? 方法: Sub 不重复随机数() ??? For i = 2 To 101 ??????? Range(b i) = ?????????? ‘初始化要填充的范围 ??? Next i ??? For i = 2 To 101 ??????? Range(b i) = Int(Rnd() * 100) + 1 ??????? Do While WorksheetFunction.CountIf(Range(b2:b101), Range(b i)) 1 ??????????? Range(b i) = Int(Rnd() * 100) + 1 ??????? Loop ??? Next i End Sub 注: (1)VBA中有随机函数rnd(),功能是:返回一个小于1,同时大于等于0的随机数。若要产生一个范围从lowerbound为m,到upperbound为n的随机数序列,常用算法是:int(rnd()*(n-m+1))+m (2)countif()是Excel工作表中的函数,不可在VBA中直接调用,可以用“worksheetfunction.函数”作为方法来调用工作表函数。 提供两组公式来生成不重复的1~25的随机数值:   (1) 单元格A1:=RANK(INDIRECT(G((ROW(1:1)-1)*5)+COLUMN()),$G$1:$G$25)   复制单元格A1,粘至单元格A1:E5。   公式的原理为:   将随机数值来拿排序(RANK函数),生成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函数来取代,以取得地址。随机数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 这个函数就是RandBetwween(bottom,top),表示生成从bottom到top之间的随机整数。  2、我们在Excel工作表的单元格中输入“=RandBetwween(10,100)”,不包括引号。 如果要产生大于等于M而小于等于N的随机整数,就可以使用这样的通用公式:=INT(RAND()*(N-M))+MRANDBETWEEN(bottom,top)   Bottom参数:随机数的下限。   Top参数:随机数的上限。   bottom,top两个参数,用来确定您要想取得的随机数的范围;   比如,您要返回大于等于1而小于等于10的随机整数,那么,用法为:=RANDBETWEEN(1,10)   请注意,该函数返回的是一定范围内的随机整数,取值范围包括上限和下限值,即,取值范围为:[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工作表窗口,点击

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档