【问题标题】:Simple Excel function that splits a numbered entered into one cell randomy and evenly over 3 others简单的 Excel 函数,可将输入的编号随机拆分到一个单元格中,并平均分配到其他 3 个单元格中
【发布时间】:2010-05-08 19:42:40
【问题描述】:

我正在寻找一个简单的函数,它将一个数字输入到单个单元格中,比如 20,然后将其均匀随机地分配到其他三个单元格中,所有值都不能为 0。

即。 A1 = 20 然后 B1=6 C1=8 D1=6

谢谢!!

【问题讨论】:

    标签: function excel-2007 excel-formula cells


    【解决方案1】:

    我面前没有 Excel,但有类似的东西

    B1: =Round(Rand()*(a1-3)+1, 0)
    C1: =Round(Rand()*(a1-b1-2)+1, 0)
    D1: =A1-B1-C1
    
    • B1 设置为从 1 到 A1-2 的数字
    • C1 设置为从 1 到 A1-B1-1 的数字
    • D1 设置为剩下的。

    【讨论】:

      【解决方案2】:

      我认为您必须编写一个宏来自动将值扩展为 B1、C1、D1,但我这样做的方法是将以下代码放入 B1:

      =RANDBETWEEN(1, (A1-2))
      

      以下进入C1:

      =RANDBETWEEN(1, (A1-B1-1))
      

      下面进入D1:

      =A1-B1-C1
      

      如果您没有可用的 RANDBETWEEN() 函数,这里是如何启用它:

      1. 从“工具”菜单中,选择“加载项”
      2. 找到对“分析工具包”的引用并在方框中打勾
      3. 选择“确定”

      【讨论】:

        【解决方案3】:

        如果没有宏,我看不出有什么办法可以绕过显示一些临时值。

        看看我的插图,它可以实现您想要实现的目标: http://www.gratisupload.dk/download/43627/

        A2 保存要拆分的初始值

        临时值:
        C2,D2,E2 就是 =RAND()

        您的均匀但随机拆分的值将出现在这些单元格中:
        C5 = A2 / (C2 + D2 + E2) * C2
        D5 = A2 / (C2 + D2 + E2) * D2
        E5 = A2 / (C2 + D2 + E2) * E2

        编辑:当然,您可以在单独的工作表上显示临时值(C2、D2、E2)。不过,只是为了避免宏的邪恶世界。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-24
          • 2011-09-10
          相关资源
          最近更新 更多