• 注册
  • 你转发,我送钱!

    • 查看作者
    • 对Excel名单,按照20%、30%、50%的概率随机分组 图文

      小王:老板给了我一份100人的客户名单,叫我按照20%、30%、50%的概率分配给公司的三个三组。

      方法一

      小王百度了一下,找到了一个好公式。

      =LOOKUP(RAND(),{0,0.2,0.5},{"一组","二组","三组"})

      相信很多人在搜索按概率生成指定数据时,也会搜到类似的公式。

      乍一看,这个公式用于按概率(20%、30%、50%)生成文字“一组、二组、三组”是没有问题的。

      可实际上,只有生成的数据很多时,这个公式才OK。

      不信?我们可以看下以下GIF图。

      同样的公式,当要分配的人数有100人和1500+人时,实际上最后分配的比例和期望的比例是有差距的。数据越少,这个差距可能就越大。

      当然,我们还是可以用这个公式的。

      输入公式后,另外再制作一个统计表(就像本例右侧黄色的表格)分析实际数据和期望数据的差异。接着不停地按F9键,直到表格显示了我们可接受的差异。

      方法二

      ① 如图,在“组别”列输入两个“1”,三个“2”,和5个“3”,然后选中所有这些数字,双击填充,填充选项为“复制单元格”。

      之所以输入两个“1”,三个“2”,和5个“3”,是因为我们需要的概率是20%、30%、50%。如果是其他的概率,请构造类似的序列。

      ② 在“辅助”列输入“=rand()”函数。

      ③ 在“辅助”列和“组别”列之间插入一个空白列。

      ④ 选中C1(“辅助”)单元格,接着点击按数值大小升序按钮(“AZ”)。

      这样数据就严格按照比例随机分配啦。

      ⑤ 保留“姓名”和“组别”列,删除多余的辅助列。

      小王:这好像也有问题,构造序列时输入了10个数据,假如我们的总数不是10的倍数时,实际份额还是会和期望份额有差异的。

      说的没错。不管你是手动输入的序列,还是用mod的函数构造的序列,这个问题都无法回避。所以填充序列后,你需要查看一下最后的几个数据,手动微调一下。

    • 0
    • 0
    • 0
    • 119
    • 单栏布局 侧栏位置: