Excel表格生成满足条件的随机数

 时间:2024-10-21 02:44:31

在生成60~100之间的100个随机数里面,大于98的数值最多只能有1个,大于等于90且小于等于98的数最多只能有2个,其余的不受限制。Excel表格的函数公式=RAND()*40+60虽然可以生成指定范围的随机数,但它并不能生成满足条件的随机数。如果使用VBA程序来处理,问题也就变得简单多了。

Excel表格生成满足条件的随机数

工具/原料

Windows7

Excel2010

方法/步骤

1、打开Excel表格,点击【开发工具】、【VisualBasic】打开VBA编辑器,或者使用【Alt+F11】组合键打开VBA编辑器。

Excel表格生成满足条件的随机数

2、在VBA编辑器的菜单栏上面点击【插入】、【模块】插入代码模块。

Excel表格生成满足条件的随机数

3、在模块的代码框里边输入以下VBA程序代码,然后按下【F5】键运行程序。SubRn蟠校盯昂dNumbers()Di罪焐芡拂mi1,i2,i3,i4,i5OnErrorResumeNext'忽略运行过程中可能出现的错误Setmysheet1=ThisWorkbook.Worksheets("Sheet1")'定义工作表Sheet1i1=0'i1,i2初始化i2=0Doi5=i5+1'每执行一次循环,i5增加1i3=Rnd()*40+60'随机生成60-100的数值Ifi3>98Andi1<1Then'如果生成的随机数>98且记录的个数为零,则i1=i1+1'i1递增1i4=i4+1'单元格行数递加1行mysheet1.Cells(i4,1)=i3'把数值写入单元格EndIfIfi3>=90Andi3<=98Andi2<2Then'如果生成的随机数<=98且>=90,记录的个数<2,则i2=i2+1'记录的个数递增1i4=i4+1mysheet1.Cells(i4,1)=i3EndIfIfi3<90Then'如果生成的随机数<96,则i4=i4+1mysheet1.Cells(i4,1)=i3EndIfIfi5>=200000Ori4>=100Then'如果循环次数超过200000次,或生成的随机数个数>=100个,则ExitDo'退出Do循环EndIfLoopEndSub

Excel表格生成满足条件的随机数

4、回到Excel工作表界面,将会看到生成的随机数。

Excel表格生成满足条件的随机数

5、生成的随机数个数验证:在D1单元格里面输入公式=COUNTIFS(A1:A100,">98"),将会统计出100个数里面大于98的数的个数为1,已经满足给出的条件。在D2单元格里面输入公式=COUNTIFS(A1:A100,"<=98",A1:A100,">=90"),将会统计出100个数里面小于等于98且大于等于90的数的个数为2,满足给出的条件。

Excel表格生成满足条件的随机数

6、VBA程序函数解释说明:(1)Rnd随机函数的取值范围是大于等于0且小于1,要榨施氅汝求某个数的范围时,可以添加相关的参数进行限定。(2)在求鞅瓞慈玢解某一条件的数值时,可以借用中间变量加以限定,这样即使得到满足条件的随机数也不会再写入表格里面。(3)使用Do……Loop循环时,应当尽量避免死循环的出现,以免造成软件无响应的情况发生。(4)COUNTIFS函数主要是统计同时满足条件的个数,其语法为COUNTIFS(查找的区域1,查找的条件1,查找的区域2,查找的条件2……),条件之间的关系是“与”的逻辑关系,即统计同时满足条件的个数。

Excel表格生成满足条件的随机数

Excel条件范围内如何生成一个随机数值? Excel怎么快速批量生成随机数(可生成小数) excel随机出现固定内容 excel随机函数 excel怎么设置指定范围随机数
热门搜索
如何将图片转换成word 立秋的图片 猪猪侠大电影 实木床头图片大全 弓背犬图片