如何在 Excel 中生成不重复的随机正数?

ms excelmicrosoft technologiescomputers更新于 2024/6/1 9:48:17

本文将指导用户如何在 Excel 中生成不重复的随机正数。本文将简要介绍两种执行相同任务的策略。第一个例子使用 VBA 代码生成唯一的随机数,而第二个例子将使用 kutool 执行相同的任务。执行任务时需要理解的要点是,一项任务可以通过多种方式完成。因此,学习者应该知道应该使用哪种方式才能准确无误地生成结果。

示例 1:使用预定义公式在 Excel 中生成不重复的随机数

步骤 1

考虑以下 Excel 工作表,在 Excel 中生成不生成重复值的随机数。在此示例中,我们使用 VBA 代码生成随机值。

步骤 2

转到"开发人员"选项卡,然后在"代码"部分下选择"Visual Basic"选项。这将打开一个新对话框。

步骤 3

新打开的对话框标题为"Microsoft Visual Basic for Applications"。请参考下图 -

步骤 4

转到"插入"选项卡选项,然后点击"模块"。这将最终打开代码区。

步骤 5

在打开的代码编辑器中复制以下代码 -

' 方法计算唯一的随机数据
Sub UniqueRandomList ()
    ' 声明所需变量
    Dim nums(1 至 50) As Boolean
    Dim randNums(1 至 10) As Integer
    ' 将 10 更改为用户想要生成的随机数的数量
    Dim i As Integer
    Dim j As Integer
    ' 为随机数生成器设定种子
    随机化
    ' 针对每个循环表达式
   For i = 2 To 50
        ' 将数组初始化为 False
        nums(i) = False
        ' 下一个表达式
   Next i 
   ' 生成唯一随机数列表
   For i = 2 To 10 ' 将 10 更改为您想要生成的随机数的数量
    ' 执行循环
    Do
        ' 随机数
        randNums(i) = Int(50 * Rnd + 1)
        ' while 循环
        Loop While nums(randNums(i)) = True
        ' 将该数字标记为已使用
        nums(randNums(i)) = True
   Next i
   ' 在工作表上打印唯一随机数列表
   For j = 2 To 10
      ' 将 10 更改为您想要生成的随机数的数量
      Range("A" & j).Value = randNums(j)
   Next j
End Sub

请使用正确的代码缩进以确保生成结果无任何错误。所需代码的快照 -

步骤 6

返回选定的 Excel 工作表区域,并检查将自动生成的 Excel 唯一值列表。请参考下图以获得正确的参考 -

示例 2:使用 kutool 在 Excel 中生成不重复的随机数

步骤 1

再次考虑相同的 Excel 工作表。转到 "Kutools" 选项卡 →"编辑" 下的 "编辑" 选项,然后选择 "插入"。然后在 Excel 中选择 "插入随机数据" 对话框。

步骤 2

在"插入随机数据"对话框中,选择"整数"部分。在"整数"部分的"起始值"标签下,设置初始范围值。在本例中,我们将该值设置为 1。然后在"结束值"标签中输入最后一个数据值。本例中,考虑的值为 10。勾选"仅生成唯一值",最后点击"确定"。

步骤 3

这将在 Excel 工作表中显示所需的一组随机数。请参考下方给出的 Excel 工作表以获取随机值。

结论

本文帮助用户了解生成唯一随机数的过程。第一种方法涉及使用 VBA 代码,而第二种方法则侧重于使用"Kutool"从提供的数据范围生成唯一随机值。


相关文章


有用资源