【问题标题】:Generate Random ("Yes","No") by row in Excel and make 10% of random rows have value "Yes" and the rest as "No" value在 Excel 中按行生成随机(“是”、“否”)并使 10% 的随机行具有值“是”,其余为“否”值
【发布时间】:2021-04-23 04:48:11
【问题描述】:

如果我有 1200 行,并且我希望我的 120 行说“是”而其余的说“否”,我应该如何将其应用于 Excel 文件?我知道使用:

=CHOOSE(RANDBETWEEN(1,2),"Yes","No")

但我不知道如何使 10% 的随机行在其各自的行中显示“是”。有没有办法调整这个公式。

【问题讨论】:

  • 旁注:如果你能重温之前的 13 个问题,那就太好了。目前,您在 SO 上的所有帖子仍处于打开状态。当然,至少其中一些已经得到了回答。如果是这样,看看你是否可以接受一些答案,甚至为那些有帮助的答案点赞。

标签: excel excel-formula spreadsheet


【解决方案1】:

我个人喜欢这个公式:

If(rand()<0.1,"Yes","No")

当然,它们是随机分布的。所以不会正好是 10%。

要准确地生成 120 = “是”,我将使用带有 =rand() 的辅助列。然后在它旁边的公式if(rank(b1,b:b)<121,"Yes","No")

【讨论】:

    【解决方案2】:

    您是想让分布正好是 10% - 90% 还是只是一个目标。 你可以使用=IF(RANDBETWEEN(1,10) = 1,"YES", "NO")

    【讨论】:

      【解决方案3】:

      这类问题有一个通用的方法:

      • 我有一个函数,生成一个介于 0 和 1 之间的随机数(例如 rand())。
      • 我想为 1/n 个案例设置一个特定值。

      解决方案:

      n * rand(), and check if the result is between 0 and 1.
      

      【讨论】:

        【解决方案4】:

        使用 Microsoft365,您可以尝试:

        =IF(SORTBY(SEQUENCE(1200),RANDARRAY(1200))<121,"Yes","No")
        

        【讨论】:

        • 当我尝试这个时,我得到#NAME?在行上,有没有办法解决这个问题?
        • 您可能没有最新版本的 Excel @IrwinMier。
        • 问题,这个公式每次都会产生正好 120 个“是”答案吗?
        • @Ilikeexcelverymuch。确实
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-19
        • 2020-11-15
        • 1970-01-01
        • 2019-07-10
        • 2011-07-02
        • 2020-03-01
        相关资源
        最近更新 更多