用EXCEL想随机生成1列数据,超出某范围的数据出现的概率为5%,
0到8的数字在这1列中出现的几率是90%,9-12出现的概率是10%,该列数据中不得出现大于12的数字 展开
公式可为
=CHOOSE(MATCH(RAND(),{0,0.9}),INT(RAND()*9),9+INT(RAND()*4))
下拉。
这个公式是按照
0到8的数字在这1列中出现的几率是90%,9-12出现的概率是10%,该列数据中不得出现大于12的数字
这句话来做的。
其标题
用EXCEL想随机生成1列数据,超出某范围的数据出现的概率为5%,
与上面的意思有冲突,无法同时设置进去。
求取随机值,一般可以考虑用RAND函数,任意单元格中输入=RAND() 可以得到一个0-1之间的随机值,它可能等于0,不会等于1,修改它可以得到想要范围的随机数值,比如把它乘以9,再去除小数部分,可以得到0-8之间的值,INT(RAND()*9) 或变形为9+INT(RAND()*4) 可以得到9-12之间的随机值。MATCH(RAND(),{0,0.9}) 的意思是查找RAND在{0,0.9}这个数组中的位置,如果RAND小于0.9,MATCH函数返回1,如果大于等于0.9返回2,因为RAND在0-1之间随机,所以MATCH为1的可以性为90%,为2的可能性为10%,CHOOSE利用MATCH来返回指定段数的函数,如果MATCH为1,CHOOSE返回第三段即INT(RAND()*9)部分,如果为2,返回第四段即9+INT(RAND()*4)部分。
参照附件