专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

excel如何生成随机数?Excel 中生成随机数的 5 种方法

来源:小易整编  作者:小易  发布时间:2022-10-20 08:23
摘要:excel如何生成随机数?Excel 中生成随机数的 5 种方法Excel 中的随机数并非是每个用户都需要的功能 ,大多数人的数据都会使用固定数字和公式,可能不需要在他们的报告中出现随机数。财务模型可以使用依赖于概率的随机模拟,有些数据模型...

使用分析工具包生成随机数:

excel如何生成随机数?Excel 中生成随机数的 5 种方法


excel如何生成随机数?Excel 中生成随机数的 5 种方法


可以在其中输入参数以生成随机数

  • 变量数:这是输出表中所需的随机数列数。如果留空,则所有列都将填充在您指定的输出范围内

  • 随机数:这是要生成的随机数的行数。如果留空,指定的输出范围将被填充

  • 分布:可以从下拉列表中选择多种分布方法,例如均匀分布或正态分布。根据在此处的选择,参数部分将提供不同的选项

  • 参数:输入值以表征选定的分布

  • 随机种子:这是可选的,将是算法产生随机数的起点。如果再次使用相同的种子,它将产生相同的随机数。如果留空,它将从计时器事件中获取种子值

  • 输出区域:输入要在电子表格中构建表格的位置的左上角单元格。如果您将变量参数留空,则需要指定整个区域。请注意,该区域内的现有数据将被覆盖

  • 新建工作表:此选项将在工作簿中插入一个新工作表并将结果粘贴到单元格 A1单元格,在相邻的框中输入工作表名称,否则将使用默认名称

  • 新建工作簿:这将创建一个新工作簿并将结果粘贴到第一张工作表的单元格 A1 单元格中

excel如何生成随机数?Excel 中生成随机数的 5 种方法


5/ 用 VBA 生成随机数

VBA(Visual Basic for Applications)是位于 Excel 前端的编程语言,也可用于生成随机数。但是,它比简单地在 Excel 中的单元格中输入公式要复杂,而且需要一些编程知识才能使用它

excel如何生成随机数?Excel 中生成随机数的 5 种方法


要打开 VBA 编辑器,请使用Alt + F11键盘快捷键

在窗口(项目资源管理器)的左侧窗格中,将看到打开的工作簿(包括加载项)和可用的工作表

在窗口顶部的菜单上,单击“插入”,然后单击“模块”。这将向当前电子表格添加一个模块窗口。将以下代码粘贴或添加到模块中

Sub RandomNumber()
    MsgBox Rnd()End Sub

按F5运行它,Excel 中将出现一条消息弹出窗口,并显示一个随机数。点击确定,您将返回代码窗口。

再次运行代码,将显示不同的随机数。随机数将介于 0 和 1 之间,但不包括 0 或 1 的值。

还可以为Rnd函数提供一个参数,该参数是用于生成随机数的算法起点的种子。如果种子值设置为负数或零,则每次将显示相同的随机数。

excel如何生成随机数?Excel 中生成随机数的 5 种方法


例如,如果您想生成 3 到 10 之间的完整随机数,则可以使用以下代码。此代码将随机数乘以 7,然后将其加 3,然后四舍五入到小数点零位。假设您想在单元格中显示您的随机数。您可以使用以下代码执行此操作

Sub RandomNumberSheet()Dim M As IntegerFor M = 1 To 5
    ActiveSheet.Cells(M, 1) = Round((Rnd(10) * 7) + 3, 0)Next MEnd Sub

excel如何生成随机数?Excel 中生成随机数的 5 种方法


还有一个名为Randomize的 VBA 函数。可以在Rnd函数之前使用它来将种子值重置为计时器事件或任何给定的参数

Sub RandomNumberV2()
    Randomize (10)
    MsgBox Round((Rnd() * 7) + 3)End Sub

6/ 生成不重复的随机数

可能会遇到这样一种情况:想生成一系列随机数,但又不想看到任何重复值出现。

可能希望从 1 到 10 的数字之间选择 3 个随机数,但其中 3 个所选数字中的每一个都是唯一的。

有几种可能的解决方案:

RANK.EQ 和 COUNTIF 函数的解决方案:

先使用RANDBETWEEN创建随机数,然后使用下一列中的公式对它们进行排名,从而从 1 到 10 的随机排序序列

= RANDBETWEEN ( 1, 10 )

excel如何生成随机数?Excel 中生成随机数的 5 种方法


然后,可以使用RANK.EQ函数对它们进行排名,以创建一个从 1 到 10 的序列,该序列是随机排序的

= RANK.EQ ( B2, $B$2:$B$11 ) + COUNTIF ( $B$2:B2, B2 ) - 1

excel如何生成随机数?Excel 中生成随机数的 5 种方法


注意,公式使用了绝对引用($符号),以便在向下复制公式时公式引用保持固定

用 VBA 解决:

还可以使用 VBA 生成一串从 1 到 10 的无重复随机数

Sub RandomNumberNoDuplicates()Dim M As Integer, Temp As String, RandN As IntegerFor M = 1 To 5Repeat:
    RandN = Round((Rnd(10) * 9) + 1, 0)
    If InStr(Temp, RandN) Then GoTo Repeat
    ActiveSheet.Cells(M, 1) = RandN
    Temp = Temp & RandN & "|"Next MEnd Sub

代码迭代从 1 到 5 的值,每次生成 1 到 10 之间的随机数。

它测试随机数以检查它是否已经生成。这是通过将成功的数字连接成一个字符串然后搜索该字符串以查看该数字是否已被使用来完成的。

如果已找到,则它使用标签重复返回并重新生成一个新号码。再次测试它尚未使用。如果是新号码,则将其添加到工作表中

动态数组的解决方案:

假设要从序列 1 到 10 中返回 5 个数字。您希望每个选择的数字都是唯一的。这可以使用SEQUENCE、SORTBY、RANDARRAY和INDEX函数的组合来完成

=INDEX(
    SORTBY(
        SEQUENCE(10),
        RANDARRAY(10)
    ),
    SEQUENCE(5)
)

excel如何生成随机数?Excel 中生成随机数的 5 种方法


上面的公式创建了一个从 1 到 10 的数字序列

然后使用SORTBY函数以随机顺序对它们进行排序,并对RANDARRAY函数生成的随机数列进行排序。效果是按随机顺序对序列进行排序。

现在,如果想获得 5 个随机且唯一的数字,只需从随机排序的序列中取出前 5 个数字。这正是INDEX函数所做的!这部分公式将从随机排序的序列中返回前 5 个数字

结论

在 Excel 中有多种生成随机数的方法。无论您需要整数、小数还是具有上限和下限的随机数范围,都可用Excel来生成。

但是,请记住,这些数字是由算法生成的伪随机数。尽管随机数生成器通过了所有随机性测试,但它们并不是真正的随机数



本文地址:百科知识频道 https://www.neebe.cn/zhishi/699596_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

共2页 1 2 当前是最后一页

百科知识
小编:小易整编
相关文章相关阅读
  • excelvlookup(excelvlookup匹配多个数据)

    excelvlookup(excelvlookup匹配多个数据)

    好助手百科2023-05-02百科7今天给各位分享excelvlookup的知识,其中也会对excelvlookup匹配多个数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!excel中vloo...

  • 在Excel表格中怎么自动计算年龄

    在Excel表格中怎么自动计算年龄

    简要回答如今很多人办公的时候都会用到Excel表格,那么在Excel表格中怎么自动计算年龄呢?具体计算方法如下。01首先打开Excel文档。输入出生日期。02点击年龄,鼠标右击,选择设置单元格格式。03将分类设置为数值。04输入固定公式=...

  • Excel中如何对数据进行分列

    Excel中如何对数据进行分列

    在这里介绍在excel中对数据进行分列的方法,希望本指南能帮到你。操作方法01比如,下图中的数据。以“-”符号为界,把两边数据分为两列。02首先,把数据区域全选中。然后,再点:数据,这选项卡。03在展开的功能区中,我们...

  • 如何将一个excel表格的数据匹配到另一个表中

    如何将一个excel表格的数据匹配到另一个表中

    日常生活办公,计算机二级考试需要用到Excel,能够熟练使用Excel可以为自己处理数据表格带来极大的帮助,本文就如何将一个excel表格的数据匹配到另一个表中的方法进行一个详细的解答。表格中,我们需要查找商品的单价,比如笔记本电脑的单...

  • 标准差计算器,标准差计算公式excel

    标准差计算器,标准差计算公式excel

    标准差怎么算标准差公式s=sqrt(s^2)标准差怎么求标准差是方差的算数平方根。具体算法是:一组数的各个数值减去其算数平均值的平方和,所得结果再除以该组数据的个数(如果是抽样,则除以n-1,多数情况为抽样),结果再开根...

  • excel绝对值符号怎么打,word绝对值符号怎么打

    excel绝对值符号怎么打,word绝对值符号怎么打

    绝对值符号怎么打?1.绝对值的符号就是2条竖线嘛,在键盘上正好有这样的符号,一般是回车键的上面,同是按住shift和该键2.在word中,选择插入符号,在其中就可以找到。符号的位置,在03版和07版的word中的位置不同...

  • 数组公式(Excel中数组公式的知识点)

    数组公式(Excel中数组公式的知识点)

    数组公式(Excel中数组公式的知识点)从计算公式开始,如下所示:=A1*B1结果是50,只有一个数字。如果要把多个数乘以1,会怎么样?=A1:A5*B1会返回一组值:50(5*10),20(2*10),30(3*10),10(1*10)...

  • 合格率公式(合格率公式excel)

    合格率公式(合格率公式excel)

      今天小编给各位分享合格率公式(合格率公式excel),如果能碰巧解决你现在面临的问题,别忘了关注小站,我们一起开始吧!产品合格率的计算公式产品合格率=(一批产品中合格产品数÷该批产品总数)×100%。例:某工人提交的48件产品合格,...

  • 周排行
  • 月排行
  • 年排行

精彩推荐