excel区间随机数保留两位(excel随机数生成范围内小数)

Excel中有3个关于随机数的基本函数。RAND,生成0~1之间的随机小数,不需要参数,直接输入函数即可;RANDBETWEEN,生成指定区间内的随机整数,通过2个参数指定区间上限和下限;RANDAR

Excel中有3个关于随机数的基本函数。

RAND,生成0~1之间的随机小数,不需要参数,直接输入函数即可;

RANDBETWEEN,生成指定区间内的随机整数,通过2个参数指定区间上限和下限;

RANDARRAY,生成一个随机数组,通过参数指定数组的行数和列数,指定随机数的区间以及数字类型(整数或小数)。

用它们可以生成各式各样的随机数,但实际应用中经常需要一些并非真正随机的随机数,例如:1~10之间的10个不重复随机数。

可以用RANDBETWEEN限定范围在1~10内,但它有极大可能重复,所以需要转换思路。

RAND+RANK

在A1输入以下公式并下拉填充至A10得到10个随机数:

=RAND()

在B2单元格输入以下公式并填充至B10:

=RANK(A1,$A$1:$A$10,1)

通过个A列中的各个数字排名获取1~10之间的随机数。

按F9刷新A列数据,同时B列的排名也会相应刷新,实现随机效果。

excel区间随机数保留两位(excel随机数生成范围内小数)

RAND+RANK

RANDBETWEEN+RANK+COUNTIF

理论上RAND产生10个随机小数会有重复的风险,尽管概率很低。加一个COUNTIF是有效的解决方案。

为了体现这种效果,将A列的公式改为用RANDBETWEEN:

=RANDBETWEEN(1,10)

极大概率会产生重复数字。

B列的公式修改为:

=RANK(A1,$A$1:$A$10)+COUNTIF($A$1:A1,A1)-1

COUNTIF-1的作用是统计当前值在此之前出现的次数。

例如案例的8出现了两次,RANK得出的排名都是5,在第二个8出现的时候,COUNTIF统计到截至A7单元格它出现了2次,减去1就是在此之前出现过1次,所以在5的基础上加1,避免重复名次的出现。

excel区间随机数保留两位(excel随机数生成范围内小数)

RANDBETWEEN+RANK+COUNTIF

SORTBY+SEQUENCE+RANDARRAY

在高版本中则要简单很多,还可以省去辅助列:

=SORTBY(SEQUENCE(10),RANDARRAY(10),1)

SEQUENCE产生数字队列1~10;

用SORTBY对其排序;

排序的依据则是一个由RANDARRAY产生的随机数字数组。

excel区间随机数保留两位(excel随机数生成范围内小数)

SORTBY+SEQUENCE+RANDARRAY


喊话微软:考虑考虑给RANDARRAY添加个第6参数一步到位吧。

TRUE表示不重复;

FALSE表示可重复。

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
投稿

ps把图片变为填充图案的技巧(ps图案填充怎么操作)

2023-9-18 12:57:18

投稿

我的世界村庄铃铛合成表(我的世界钟怎么合成村庄)

2023-9-18 12:58:01

搜索