【问题标题】:Excel Random Number with Specified Percentage具有指定百分比的 Excel 随机数
【发布时间】:2017-10-12 12:22:03
【问题描述】:

我想制作一组范围为 1 到 10 的随机数据。 目前,我正在使用:

=RANDBETWEEN(1,10)

问题是,我怎样才能让整数 1 包含 90% 的随机数据? 因此单元格 A1 到 A100 在 =RANDBETWEEN() 范围内有 90% 的整数 1 和 10% 的任何其他整数。

【问题讨论】:

  • 整数 1 是什么意思?你能更具体地回答你的问题吗?如果您以您希望的方式发布数据,则表示感谢
  • 说整数 1,我的意思是我希望这个数字是一个没有小数位的整数。例如,我想将随机数分配给范围为 1 到 10 的 10 个单元格。但是,我想优化生成的数字,以便其中一个数字(介于 1 到 10 之间)覆盖指定百分比的样本。样品 1(1 = 90%,其他随机数 = 10%) A1=1 A2=1 A3=2 A4=1 A5=1 A6=1 A7=1 A8=1 A9=1 A10=1 或样品 2(5 = 50%,其他随机数 = 50%) A1=5 A2=10 A3=1 A4=5 A5=3 A6=5 A7=5 A8=8 A9=7 A10=5

标签: excel random numbers


【解决方案1】:

你可以这样使用:

=MAX(1, RANDBETWEEN(1, 100)-90)

基本上,您将随机范围乘以 10,然后将其中的 90% 分配给数字 1

【讨论】:

  • 我认为你会在 91% 的试验中获得 1。
  • 谢谢,但不知怎的,我无法完全理解这个等式。如果生成的随机数是 10,将减去 90,我们将得到 =MAX(1, -80),它会给出值 1。但是如果我想将我想要的结果更改为其他数字并修改频率怎么办也一样?
  • @JohnD 这就是MAX 部分的目的:否定结果将设置为 1 :)。因此,任何低于 90(90% 的时间发生)的结果都将导致 1。
  • 新版本仍然有91%的机会得到1。我想知道是否有可能只用一个RANDBETWEEN得到OP要求的东西。我能想到的最好的答案是 pnuts 的更短版本:=1+(RANDBETWEEN(1,10)=10)*RANDBETWEEN(1,9)
  • 我不能同意,第二个版本返回 1 代表 RANDBETWEEN 返回的 0,1,..,90,(100 个案例中的 91 个)。
【解决方案2】:

大概是这样的吧?

=CHOOSE(RANDBETWEEN(1,10),1,1,1,1,1,1,1,1,1,RANDBETWEEN(2,10))

【讨论】:

  • 我也是这么想的,但是想出了=CHOOSE(IF(RAND()<0.9,1,2),1,RANDBETWEEN(2,10))
猜你喜欢
  • 2013-02-24
  • 2014-12-16
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多