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


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

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

步骤 1

考虑下面给出的 Excel 表格,在 Excel 中生成随机数,而不生成重复的值。在本例中,使用 VBA 代码生成随机值。

步骤 2

转到“开发工具”选项卡,然后在“代码”部分选择“Visual Basic”选项。这将打开一个新的对话框。

步骤 3

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

步骤 4

转到“插入”选项卡,然后单击“模块”。这最终将打开代码区域。

步骤 5

在打开的代码编辑器中复制下面给出的代码 −

' method to calculate the unique random data
Sub UniqueRandomList ()
   '  Declaring required variables
   Dim nums(1 To 50) As Boolean
   Dim randNums(1 To 10) As Integer
   ' Change 10 to the number of random numbers user wants to generate
   Dim i As Integer
   Dim j As Integer
   ' Seed the random number generator
   Randomize
   ' for each loop expression
   For i = 2 To 50
      ' Initialize the array to False
      nums(i) = False
   ' Next expression
   Next i 
   ' Generate a list of unique random numbers
   For i = 2 To 10 ' Change 10 to the number of random numbers you want to generate
      ' do loop
      Do
         ' random numbers
         randNums(i) = Int(50 * Rnd + 1)
      ' loop for while
      Loop While nums(randNums(i)) = True
      ' Mark the number as used
      nums(randNums(i)) = True
   Next i
   ' Print the list of unique random numbers on a worksheet
   For j = 2 To 10
      ' Change 10 to the number of random numbers you want to generate
      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”从提供的数 据范围内生成唯一的随机值。

更新于: 2023年5月8日

372 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.