excel随机数_如何返回1至10之间的不重复随机数

199c5b55fbed6bc6b888055e93001217.png

带给你清新的感受

在EXCEL的众多函数中有两个专门用于产生随机数的函数,一个是RAND()函数,返回的随机数是大于等于 0 及小于 1 的均匀分布随机实数。另一个是RANDBETWEEN(最小数,最大值)函数,返回大于等于指定的最小值,小于等于指定最大值之间的一个随机整数,重点是整数。

两个函数的特点鲜明,RAND生成的随机数是小于1的小数,不能满足本题的要求,即使放大10倍再四舍五入为整数后,仍然不能保证不重复的要求。RANDBETWEEN函数虽然可以直接生成整数,但是不能保证不重复,尤其是需要生成更多的随机数,例如1至100、1000之间的不重复随机整数,RANDBETWEEN函数更是无法实现。

解决此问题的办法是利用多个函数组合、分步实现。如图01所示:

a4324fe8757686b1bd8aef78beef1649.png

图01

1、在A2:A11单元格输入公式=RAND(),负责生成10个大于0小于1的随机小数,随机小数不会出现重复值。输入公式的效果如图02所示:

573c07a33899268d8ec9c0df089a6735.png

图02

2、在B2单元格输入公式=RANK(A2,A$2:A$11),之后拖拽B2单元格填充柄向下复制。其作用是返回A列当前行即A2单元格的值在A$2:A$11区域中的名次(排名结果),由于A$2:A$11的值不重复,RANK的排名结果也不会出现重复,而且排名的结果肯定是整数。输入的公式如图03所示:

d2d4e43bcfd93e0f36a88ee37c11a5aa.png

图03

3、输入公式后按F9键可以在B2:B11区域中反复生成1至10的不重复随机整数,如图04所示:

255455c224de83c7d8722f280b4f08f3.png

图04

拓展应用:

生成随机数的需求非常广泛,有需求包含小数的、有不需要小数的、有需要指定范围的整数、有需要指定范围的小数。下面简单介绍几种不同需求的解决方法:

案例一:生成1至100的随机整数,=RANDBETWEEN(1,100),缺点是不能避免重复值。

案例二:生成1至100的随机数,=RANDBETWEEN(1,100)+RAND(),不会出现重复值。

案例三,生成保留两位小数的1至100的随机数,=ROUND(RANDBETWEEN(1,100)+RAND(),2),可能有重复值,但是概率很低。

案例四:生成0.025至0.048之间的随机数,=RANDBETWEEN(25,48)/1000。

案例五:生成13±0.25之间的数,这个问题乍一看有点懵,仔细看看与上面的情况是一样的。最小值13-0.25=12.75,最大值13+0.25=13.25,生成13±0.25之间的数就是生成12.75至13.25之间的随机数。公式=RANDBETWEEN(1275,1325)/100。

总结:函数的规则是死的,但是人的大脑是活的,科学、合理、灵活地运用各个函数,把函数的特点有机地整合在一起就能满足各种不同的需求。例如生成负0.5和正0.5之间的小数,这个问题是不是没有现成的解决方法?如果换个问法你可能就会做了,生成0至1之间的随机数你会做吗?RAND()就能完成,在此基础上略作调整=0.5- RAND(),有没有恍然大悟的感觉!

776edd1051e614748213e217829baca9.png

变化的浩瀚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值