EXCEL中,想让随机数按一定概率生成,怎么做?
发布网友
发布时间:2022-04-22 21:11
我来回答
共3个回答
懂视网
时间:2022-05-15 09:07
这次给大家带来按概率生成数字,按概率生成数字的注意事项有哪些,下面就是实战案例,一起来看一下。
js按照配置的概率生成,概率规则如下:
1------------50%
2------------30%
3------------15%
5------------5%
简单的代码
function myRandom() {
var rand = Math.random();
if (rand < .5) return 1;
if (rand < .8) return 2;
if (rand < .95) return 3;
return 5;
}
复杂点的
function prizeRand(oArr) {
var sum = 0; // 总和
var rand = 0; // 每次循环产生的随机数
var result = 0; // 返回的对象的key
console.log(oArr);
// 计算总和
for (var i in oArr) {
sum += oArr[i][0];
}
// 思路就是如果设置的数落在随机数内,则返回,否则减去本次的数
for (var i in oArr) {
rand = Math.floor(Math.random()*sum + 1);
if (oArr[i][0] >= rand) {
result = oArr[i][0];
break;
} else {
sum -= oArr[i][0];
}
}
return result;
}
var oArr = {'5':[5, 'Mac'], '3':[15, 'iPhone'], '2':[30, 'iPad'], '1':[50, 'iWatch']};
console.log(prizeRand(oArr));
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
热心网友
时间:2022-05-15 06:15
=IF(INT(RAND()*100)+1<88,INT(RAND()*8),IF(INT(RAND()*100)+1<97,INT(RAND()*3)+9,INT(RAND()*2)+13))
解释:先生成一个1-100的数,如果这个数小于88,那么满足概率87%,就返回一个0-8的数,依次类推。
测试结果:
10个数,出了2个大于8的,符合该规则的随机性。
热心网友
时间:2022-05-15 07:33
依我看,你还是多用一个辅助单元格吧。
举例:
在A1单元格,输入这条公式:
=RANDBETWEEN(1,100)
在B1单元格输入这么公式:
=IF(A1<=87,RANDBETWEEN(0,8),IF(A1<=97,RANDBETWEEN(9,12),RANDBETWEEN(13,15)))
注意的是,RANDBETWEEN取出的数,是会在重新计算的时候重新取数的,比如每次打开表格时,表格会重新计算,表格内任意位置发生变化时,表格会重新计算,按F9键时,表格会重新计算等。
EXCEL中,想让随机数按一定概率生成,怎么做?
=CHOOSE(LOOKUP(RAND(),{0;0.1;0.3;0.5;0.6;0.75},{1;2;3;4;5;6}),11,12,13,14,15,16)但是概率不同于比例,存在这种概率不代表一定会出现。
EXCEL中,想让随机数按一定概率生成,怎么做?
=IF(INT(RAND()*100)+1<88,INT(RAND()*8),IF(INT(RAND()*100)+1<97,INT(RAND()*3)+9,INT(RAND()*2)+13))解释:先生成一个1-100的数,如果这个数小于88,那么满足概率87%,就返回一个0-8的数,依次类推。测试结果:10个数,出了2个大于8的,符合该规则的随机性。
excel中按一定比例生成随机数
1. 在A列输入如下 =INT(RAND()*10)+90,下拉10个;=INT(RAND()*10)+80,下拉18个;=INT(RAND()*10)+70,下拉14个;=INT(RAND()*10)+60,下拉8个;2.在B列输入=rand(),下拉至50;3.B列升序或降序排序,A列数字可认为随机产生的 注意A列随时在变化,可以选择性粘贴数值 ...
如何在选定的excel表格中使其自动生成一定范围的数值
在Excel中,轻松实现指定范围内的随机数值生成,可通过RANDBETWEEN函数来操作。首先,打开你的工作簿并定位到你想要填充数据的单元格。具体步骤如下:在该单元格中输入函数公式,例如【=RANDBETWEEN(-10,20)】。这个公式会生成一个介于-10和20之间的随机整数。确保输入格式正确后,按键盘上的Enter键,即可...
如何在excel中生成一定范围内的随机数?
可以直接使用RANDBETWEEN函数生成一定范围内的随机数。可以使用RAND函结合其他函数来生成一定范围内的随机数。RANDBETWEEN【语法】RANDBETWEEN(bottom,top)Bottom参数: RANDBETWEEN将返回的最小整数。Top参数: RANDBETWEEN将返回的最大整数。示例:=RANDBETWEEN(1,100)大于等于1小于等于100的一个随机整数(变量)...
在Excel中,怎样生成一个特定范围内的随机数呢?
首先,使用Excel内置的RAND()函数来生成一个0到1之间的随机小数。然后,将这个随机数乘以100,以确保其在0到100之间,公式为RAND() * 100。接下来,为了限制小数点后一位只能是0或5,你需要对这个数取整到最接近的0.5的倍数。这可以通过FLOOR()函数实现,即FLOOR(RAND()*100, 0.5)。这样,你...
您好,请问Excel表格如何按照概率出一组随机数据?
使用下列公式之一 =FLOOR(RANDBETWEEN(95,125),5) 得到的125最少 =CEILING(RANDBETWEEN(95,125),5) 得到的95最少 =MROUND(RANDBETWEEN(95,125),5) 95和125的个数相近 三列公式下拉填充各1000行,得到右侧E:H四列的统计结果。
excel中如何生成指定数量的随机数,
要使随机函数生成的随机数不再发生变化,必须在公式中设置单元格在一定的条件下等于单元格本身,这就必须打开Excel的迭代计算(即Excel的循环引用)。所以要达到题主的目的,需要按如下步骤来做:在选项的公式选项卡中,把“启用迭代计算”打上对勾后确定,以启用迭代。假设需要生成的随机数在1~10之间,...
excel设置一列数值在另一列数值的一定范围内随机出现
把公式复制到M2 如果G2中已有数据,M2和G2将会是相同数据,原因就是本公式把得到的随机数固定了。删除G2的数字,重新输入后,M2和G2得到数字一般就会不同了(相同的概率极低)。所以可先向下拖若干列,因为G列没有数字,J列和M列有公式的单元格都会显示为空。而当G列输入数字时,公式就会按要求...
Excel怎么生成数字范围内随机数据?
首先,如果需要生成指定范围内的随机小数,可以使用RAND函数。例如,要生成一个介于5到10之间的随机小数,可以在单元格中输入公式“=RAND*+5”。这个公式会生成一个大于等于5且小于10的随机小数。若需要生成多个这样的随机数,只需将含有公式的单元格向下或向右拖动填充即可。其次,对于需要生成...