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中生成指定数字范围内的随机数据,可以使用多种方法,以下是几种常用的方法:1. **使用RAND函数结合数学运算**:RAND函数可以生成一个0到1之间的随机小数(不包括0和1)。要生成指定范围内的随机数据(如5到10之间的随机小数),可以使用公式“=RAND()*(上限-下限)+下限”,例如“=RAND()*...
如何在excel中生成一定范围内的随机数?
可以直接使用RANDBETWEEN函数生成一定范围内的随机数。可以使用RAND函结合其他函数来生成一定范围内的随机数。RANDBETWEEN【语法】RANDBETWEEN(bottom,top)Bottom参数: RANDBETWEEN将返回的最小整数。Top参数: RANDBETWEEN将返回的最大整数。示例:=RANDBETWEEN(1,100)大于等于1小于等于100的一个随机整数(变量)...
excel中按概率产生0-9随机数用函数怎么写? 每个数的概率控制是分别根据...
随机生成可以利用 =randbetween(0,9)按照概率来,就得考虑根据生产结果判断 比如9的概率是10 那么用=if(randbetween(0,99)>90,9,"")
如何利用EXCEL生成在一定范围内的,确定个数的随机数,并生成的随机数的...
先用=rand()随机生成5个随机数,假设分别在a1、b1、c1、d1、e1单元格内。然后在5个空单元格分别输入:=INT(a1/sum(a1:e1)*100)=INT(b1/sum(a1:e1)*100)=INT(c1/sum(a1:e1)*100)=INT(d1/sum(a1:e1)*100)最后一个单元格,用100减去前边4个单元格的数值就行了。
excel设置一列数值在另一列数值的一定范围内随机出现
把公式复制到M2 如果G2中已有数据,M2和G2将会是相同数据,原因就是本公式把得到的随机数固定了。删除G2的数字,重新输入后,M2和G2得到数字一般就会不同了(相同的概率极低)。所以可先向下拖若干列,因为G列没有数字,J列和M列有公式的单元格都会显示为空。而当G列输入数字时,公式就会按要求...
Excel产生的随机数,随着软件的关闭、打开就变了,我想让电脑自动产生随机...
最大误差”框中键入所需的数值。数值越小,结果越精确,Excel 计算工作表所需的时间也越长。在2003中,依次单击“工具”选项卡、“选项”,“启用迭代计算”复选框。比如说要在A2中产生40到100之间的随机不变数,可以用公式 =IF(A2=0,RAND()*60+40,A2)若要生成很多,向下填充就可以了!
Excel怎么生成数字范围内随机数据?
首先,如果需要生成指定范围内的随机小数,可以使用RAND函数。例如,要生成一个介于5到10之间的随机小数,可以在单元格中输入公式“=RAND*+5”。这个公式会生成一个大于等于5且小于10的随机小数。若需要生成多个这样的随机数,只需将含有公式的单元格向下或向右拖动填充即可。其次,对于需要生成...