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

2025-10-27 15:39:55

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

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

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

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

3、在模块的代码框里边输入以下VBA程序代码,然后按下【F5】键运行程序。

Sub RndNumbers()

Dim i1, i2, i3, i4, i5

On Error Resume Next         '忽略运行过程中可能出现的错误

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")  '定义工作表Sheet1

i1 = 0                       'i1,i2初始化

i2 = 0

Do

 i5 = i5 + 1                 '每执行一次循环,i5增加1

 i3 = Rnd() * 40 + 60        '随机生成 60-100 的数值

 If i3 > 98 And i1 < 1 Then  '如果生成的随机数>98且记录的个数为零,则

  i1 = i1 + 1                'i1递增1

  i4 = i4 + 1                '单元格行数递加1行

  mysheet1.Cells(i4, 1) = i3 '把数值写入单元格

 End If

  If i3 >= 90 And i3 <= 98 And i2 < 2 Then '如果生成的随机数<=98且>=90,记录的个数<2,则

  i2 = i2 + 1                '记录的个数递增1

  i4 = i4 + 1

  mysheet1.Cells(i4, 1) = i3

 End If

 If i3 < 90 Then             '如果生成的随机数<96,则

  i4 = i4 + 1

  mysheet1.Cells(i4, 1) = i3

 End If

 If i5 >= 200000 Or i4 >= 100 Then  '如果循环次数超过200000次,或生成的随机数个数>=100个,则

  Exit Do                           '退出Do循环

 End If

Loop

End Sub

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表格生成满足条件的随机数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢