分享

Excel:RAND随机类函数

 MediaTea 2021-04-01

Excel 中随机类函数常用于产生随机数。随机数可广泛用于各类抽奖、抽查及分类分组等活动中。

  • RANDBETWEEN 函数


RANDBETWEEN(最小整数, 最大整数)

返回位于两个指定数之间的一个随机整数。

注意:每次计算工作表时都将返回一个新的随机整数。

提示:RANDBETWEEN 函数可能会产生相同的随机整数。

应用 1:抽奖。

比如在 14 名员工中抽奖,可使用 RANDBETWEEN(1, 14) 产生一个介于 1 ~ 14 之间的整数,再借助 INDEX 函数即可找到对应的员工姓名。

=INDEX(C3:C16,RADNBETWEEN(1,14))
提示:按 F9 可重新计算工作表,产生新的随机整数。
有关 INDEX 函数的使用方法请参阅《Excel:INDEX与MATCH函数》。

应用 2:随机分配A、B卷。
由于只有 A、B 卷两种情况,使用RANDBETWEEN(1,2) 为每个学生随机分配试卷编号,再借助 INDEX 函数即可找到对应的试卷类型。公式:
=INDEX($H$3:$H$4,RANDBETWEEN(1,2))
也可借助 CHOOSE 函数来实现,此方法的好处是不再需要依赖辅助表格。公式:
=CHOOSE(RANDBETWEEN(1,2),"A卷","B卷")
此方法同样适用于随机分组的案例。不过,还有一个问题需要解决,即,如何保证均等分配A、B卷或者平均分组呢?

  • RAND函数


RAND( )

返回一个大于等于 0 且小于 1 的随机实数。每次计算工作表时都会返回一个新的随机实数。
相对于 RANDBETWEEN 函数,RAND函数不存在相同随机数的问题。
说明:
1、RAND()函数没有参数,直接使用。
2、若要生成 a 与 b 之间的随机实数,请參考下列公式:
=RAND()*(b-a)+a

应用 1:均等分组
处理思路:
首选插入一列作为乱数列,并使用 RAND 函数产生随机实数,
=RAND()
然后使用 RANK 函数对乱序列排位,
=RANK(D3,$D$3:$D$16)
再将排位结果除以人数的一半,
=RANK(D3,$D$3:$D$16)/(COUNT($D$3:$D$16)/2)
使用 ROUNDUP 函数使上式结果进位到最接近的整数,
=ROUNDUP(RANK(D3,$D$3:$D$16)/(COUNT($D$3:$D$16)/2),0)

最后,使用 CHOOSE 函数显式显示分组。

=CHOOSE(ROUNDUP(RANK(D3,$D$3:$D$16)/(COUNT($D$3:$D$16)/2),0),"A组","B组")

特别提示:随机数产生之后,在所有的单元格处进行的任何编辑,都将导致重新产生随机数。
解决方法:随机数产生后,框选并右击,选择“选择性粘贴”中的“值”,即用数值覆盖公式。这样就不会再重新产生随机数了。

应用 2:同时抽奖多名(不重复)
首先对乱数列进行排位,
=RANK(D3,$D$3:$D$16)
然后使用 INDEX 函数找到对应姓名。
=INDEX($C$3:$C$16,RANK(D3,$D$3:$D$16))
这样,就不会有重复的名字了。

  • CHOOSE 函数 


CHOOSE(索引值,选项1,选项2,选项3,...)

如同做选择题一样,根据给定的索引值,从参数串中选出相应值或操作。

CHOOSE 函数的参数不仅可以是单个数值,也可以是区域引用,如:

=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))
相当于:
=SUM(B1:B10)

  • ROUNDUP 函数


ROUNDUP(数值,位数)

向上舍入函数。将对应位数的数值向上舍入到最接近的数值。

比如,位数为 0 时,则在个位数上进行向上舍入:
=ROUNDUP(3.14159,0)

结果为 4。

位数为大于 0 的数时,则在对应的小数位上进行向上舍入:
=ROUNDUP(3.14159,3)

结果为 3.142。

位数为小于 0 的数时,则在对应的整数位上进行向上舍入:
=ROUNDUP(314.159,-2)

结果为 400。

“有钱的捧个钱场,好看的点下在看”

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多