【问题标题】:Random number in Excel between 1 and 10 until all numbers are selectedExcel中1到10之间的随机数,直到选择所有数字
【发布时间】:2020-08-02 08:06:52
【问题描述】:

我想使用 Excel 生成 1 到 10 之间的随机数,然后计算每个要生成的数字生成了多少个数字。

我知道如何生成随机数,即 =RANDBETWEEN(1,10)

然后只是拉下角落。

但是当所有数字都生成时,手动检查列表是一项工作。

有没有更简单/自动的方法来做到这一点?

【问题讨论】:

  • 所以你希望每个数字只存在一次,直到所有数字都存在?
  • @JvdV 不,它们可以存在不止一次,例如: 1 4 2 6 5 6 4 7 5 1 9 10 2 4 3 6 4 6 8 ,这里需要 19 代才出现所有数字.数字可以重复。
  • 对了,您只是想知道它们最终是否全部生成?你有什么版本的excel?
  • 你的 Excel 版本呢?
  • 是的,我知道,我想知道您的 Excel 版本是什么。答案会有所不同,具体取决于您是否可以访问更新的功能。

标签: excel excel-formula


【解决方案1】:

假设您有一个可以使用的标题:

A2中的公式:

=IF(SUM(--ISNUMBER(MATCH(ROW($1:$10),A$1:A1,0)))=10,"Done: "&ROW()-2&" numbers made",RANDBETWEEN(1,10))

请注意,这是一个数组公式,根据您的 Excel 版本,您需要通过 CtrlShiftEnter 接受它。 p>

向下拖动,但请记住,RANDBETWEEN 是易变的,每次插入新值时都会重新计算。

【讨论】:

    【解决方案2】:

    如果您有一个现有的 1 到 10 范围内的随机数列表,并且想要检查它以查看该范围内的所有数字是在什么时候生成的,您可以使用如下公式:

    =MATCH(10,MMULT(SIGN(COUNTIF(OFFSET(A1,0,0,ROW(1:100)),COLUMN(A:J))),ROW(1:10)^0),0)
    

    假设最多有 100 个数字。

    在较新版本的 Excel 中,必须使用 CtrlShiftEnter 作为数组公式输入。

    这个想法是使用 Offset 从范围中选择越来越多的行,然后使用 Count 来测试每个数字是否存在,并使用 Mmult 来获取每个范围内不同数字的总数。通常不推荐使用 volatile 函数 offset,但由于工作表已经在使用另一个 volatile 函数 Randbetween,因此可能不会对性能产生太多额外影响。

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 2013-12-21
      • 2014-01-30
      • 2011-04-05
      • 2013-07-24
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多