Excel按固定比例随机分配数据?
现有需求为将1,2,3,4,5,6,7,8,9,10,11,12按10%,10%,10%,6.66%,6.66%,6.66%,6.66%,6.66%,6.7%,10%,1...
现有需求为将1,2,3,4,5,6,7,8,9,10,11,12按10%,10%,10%,6.66%,6.66%,6.66%,6.66%,6.66%,6.7%,10%,10%,10%的比例随机分配到8万条数据中应该怎么弄?
展开
3个回答
2020-08-25 · 知道合伙人软件行家
关注
展开全部
如果你对这些10%、6.66%要求不是很严格,随机数会不断刷新变化也可接受的话,下面的公式会得到比较满意的结果,比如结果在B1:B80000中:
B1=CHOOSE(LOOKUP(RANDBETWEEN(1,10),{1,4,8},{1,2,3}),RANDBETWEEN(1,3),RANDBETWEEN(4,9),RANDBETWEEN(10,12))
下拉到B8000。下图是模拟结果。如果需要完全吻合,且得到的结果固定下来,公式要复杂些。请再追问。
公式思路,前3个数字和后3个数字各占30%,中间6个数字点40%。先在8万个单元格中生成8万个1~10的随机数,按Excel的随机数原理(开始回答时,前面有一段稍微说明Excel随机数原理的,但百度就是不让提交,删除后才提交成功),10个数字基本上各占8千个。用lookup来区分,随机数小于4,就按choose中的第1个随机数公式,4~7,就按第2个随机数公式,8~10,就按第3个。从而达到按指定的比例得到随机数。
追答
不要用截图,原理就是Excel中的随机数是按在指定区间平均分布的。前面的回答中,公式思路已说明了公式原理。公式就是在1~10这个区间内,区间1~3(占30%——3/10),生成随机数1,2,3(各占1/3——30%的1/3,最后是10%);4~7(占40%——4/10),生成4到9(各占1/6——40%的1/6,最后是6.66%),10~12与1~3一样。
展开全部
随机分配请按如下操作
在名称框内输入B1:B80000,回车选中此区域。
输入=RANDBETWEEN(1,12)
CTRL+ENTER填充公式
每按一次键盘上的F9键,得到一组B列值。
或
如果A列为1到12的随机值,在B1中输入如下公式
=lookup(a1,{1,4,9,10},{10,6.66,6.7,10}%)
下拉填充
或
=lookup(mod(row(a1)-1,12)+1,{1,4,9,10},{10,6.66,6.7,10}%)
下拉填充
在名称框内输入B1:B80000,回车选中此区域。
输入=RANDBETWEEN(1,12)
CTRL+ENTER填充公式
每按一次键盘上的F9键,得到一组B列值。
或
如果A列为1到12的随机值,在B1中输入如下公式
=lookup(a1,{1,4,9,10},{10,6.66,6.7,10}%)
下拉填充
或
=lookup(mod(row(a1)-1,12)+1,{1,4,9,10},{10,6.66,6.7,10}%)
下拉填充
追问
我需要分配的是1-12的数字 不是后面的百分比 还有这个公式完全不能随机分配只是按顺序分配 也没有按百分比分配下去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询