rand、randbetween函数生成随机数,用于随机分组、不重复抽奖

boyanx3个月前技术教程16

大家好!今天和大家分享,Excel中可以生成随机数的两个函数:rand函数、randbetween函数。

本文主要包括两部分:

1、介绍rand、randbetween函数的基本用法;

2、介绍rand函数和rank函数组合使用,用于解决生成非重复随机数、非重复抽奖、随机分组等问题。


1

函数介绍


1、rand函数

rand函数用于随机生成0~1之间的小数,其语法为RAND(),该函数没有参数。

如下图所示,在C2:C6单元格输入公式:=RAND()

虽然C2:C6单元格的公式相同,但生成的随机数并不相同。


2、randbetween函数

randbetween函数用于返回指定数字之间的随机整数,其语法为randbetween(bottom,top)。

如下图所示,在C2:C6单元格输入公式:=RANDBETWEEN(10,20)

该公式返回10~20之间的随机数。

randbetween函数可能会生成重复的随机数。比如本例中,C2、C6单元格生成的随机数均为“14”。


3、rand、randbetween函数比较

rand、randbetween函数主要有以下相同点和不同点:

不同点:

(1)rand函数生成的随机数是小数,randbetween函数生成随机整数;

(2)rand函数没有参数,randbetween函数需要指定生成随机数的最小值和最大值;

(3)rand函数生成相同随机数的可能性非常小,randbetween函数有可能生成相同的随机数。

相同点:

rand和randbetween均为易失性函数。当重新打开工作簿、修改工作簿中的数据,或者按F9键,函数会产生新的随机数。如果不希望生成的随机数变化,可以将其选择性粘贴为“数值”。


2

函数应用



1、产生不重复随机数

如下图所示,要求在A2:A10单元格生成1~9之间的9个不重复随机整数。


如果我们使用randbetween函数,可能生成重复的随机数。如下图所示:


可以使用rand+rank函数组合使用生成不重复的随机数。

首先在B2:B10区域输入公式:=RAND()


然后在A2:A10单元格输入公式:=RANK($B2,$B$2:$B$10)

RANK函数是用于计算排名的函数,即B2单元格的数值在B2:B10中,按从大到小排序,排在第几位。

另外可以注意到,两张图片中B2:B10中rand函数返回的数值不相同。这是因为rand函数是易失性函数,当编辑工作表时,会生成新的随机数。


2、不重复抽奖

如下图所示,要求从A列的名单中随机抽取三位获奖者。



如果直接在D2:D4单元格输入公式:

=INDEX($A$2:$A$10,RANDBETWEEN(1,9))

中奖人名字可能会重复。如下图所示,D2:D4中,“蓝精灵”的名字出现两次。



如果希望中奖人名字不重复,可以先在B2:B10区域使用rand函数生成随机数,然后在C2:C10区域使用rank函数生成排名的序号。


最后在D2:D4单元格输入公式:=INDEX($A$2:$A$10,C2)


3、随机分组

如下图所示,将A2:A10区域的9个人随机分为三组。



首先在B2:B10区域使用rand函数生成随机数,然后在C2:C10区域使用rank函数生成B2:B10中的数值的排名。

最后在E2:G3单元格输入公式:

=INDEX($A$2:$A$10,INDIRECT("C"&(ROW()+1+(COLUMN()-5)*3)))


公式解析:

(1)如果在E1:G3单元格输入公式:

=INDEX($A$2:$A$10,ROW()+(COLUMN()-5)*3)

可以将A2:A10中的名单按顺序分为三个组。


关于该公式的具体解析,阅读文章:

使用公式将1列数据拆分为多行多列


(2)如果希望将A2:A10中的名单随机分组,那么index函数的第二个参数就需要为随机数。在本例中,先使用rand+rank函数在C2:C10生成随机的排名。然后使用indirect函数引用C2:C10中的随机数,这样就可以实现随机分组。

关于indirect函数的使用方法,阅读文章:

indirect函数用法介绍—三个示例帮助你理解indirect函数

相关文章

对人员进行随机分组,分步骤详细解释,看了就学会了

大家好,我是套路EXCEL!如上图,需要将12个人随机分成3组,每组4人。函数公式如下:=ROUNDUP(CHOOSECOLS( SORT(HSTACK(ROW(1:12), RANDARRAY(12...

多组独立(完全随机设计)样本秩和检验的SPSS操作教程及结果解读

作者/风仕在上一期,我们已经讲完了两组独立样本秩和检验的SPSS操作教程及结果解读,这期开始讲多组独立样本秩和检验,我们主要从多组独立样本秩和检验介绍、两组独立样本秩和检验使用条件及案例的SPSS操作...

Excel人员随机分组/排班,一个公式轻松搞定,简单又实用!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!日常工作中,我们经常需要对人员进行随机分组/排班,比如说公司培训、团建活动,需要对参加人员随机分组;或者是公司安排值班人员...

12月29日定期维护公告 新强P玩法来袭

亲爱的玩家朋友:为保证服务器的运行稳定和服务质量,《梦幻西游2》所有服务器将于2015年12月29日上午7:00停机,进行每周例行的维护工作。预计维护时间为上午7:00~9:00。如果在预定时间内无法...

Python中的random模块:生成随机数的魔法工具

在编程中,随机数无处不在——无论是游戏中的随机事件、抽奖程序中的公平选择,还是模拟实验中的数据生成,都离不开它。Python的random模块为我们提供了丰富的工具,让随机数的生成变得简单又有趣。一、...

火狐Firefox浏览器测试AI链接悬停预览,解析网页关键点

IT之家 4 月 8 日消息,科技媒体 Windows Report 昨日(4 月 7 日)发布博文,报道称 Mozilla 正加速推进火狐 Firefox 浏览器的 AI 功能,正邀请用户测试“AI...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。