一、单人抽奖活动
公司组织了一次抽奖活动,从若干员工中抽选出一名中奖者。
可以使用RANDBETWEEN来实现这个功能,它可以在一个范围内随机选择一个整数,具体用法如下图:
使用示例如下图:
如果将这个数字转换为员工姓名呢?可以使用之前学过的INDEX函数。INDEX可以返回一个返回中指定顺位的内容。我们只需插入INDEX函数,并将资料范围设置为员工姓名那一栏。具体操作如下图:
二、考试成绩
现在要对公司员工进行一次考试,考试试卷分为A B卷。打算以随机的方式为考生分配试卷。因此,可以首先私用RANDBETWEEN在1和2之间产生随机数。然后使用INDEX返回随机数对应的试卷,记得要将试卷栏锁定。
不过这种方式必须在表格外新建一个表格,使得IDNEX可以回传A卷和B卷。因此,这里我们不妨使用CHOOSE这个函数,可以省去设置表格的麻烦。CHOOSE的使用很像做选择题。
我们只需将作答的选项依次写在函数里头,然后在函数的开头写下自己的答案,那么CHOOSE就会回传这个选项的内容。
因此,我们只需将RANDBETWEEN的结果作为答案,“A卷” 和 "B卷"作为选项。这样就可以省去新建表格,同时,每按一次F9,就能刷新一次。效果如下:
三、员工分组
现在我要将公司12人分为2组,每组6人,进行一项竞赛。如果使用RANDBETWEEN,会造成每组人数不一致。这时,就需要另一个产生随机数的函数RAND。
RAND不需要任何输入,直接使用RAND()就能产生0-1之间的一个数。与RANDBETWEEN相比,RAND不会产生重复数值。
首先新建一列 乱数,然后使用RAND产生随机数。
接着在试卷栏使用RANK函数对这些随机数排序。
由于每组6人,我可以将排名除以6,这样商≤1的为1组,其余的为另一组。
我将得到的商套用无条件进位函数ROUNDUP,将其进位为1或2。
最后使用CHOOSE将这些数字转换为A组和B组。
如果现在要分为3组,我们只需将除以6改为除以4,同时新增一个"C组"。
但我们在其它单元格做任何改动时,RAND函数都会产生新的随机数,导致每人所在的组不一致。因此,在乱数确定后,选中这些乱数,按下Ctrl+C,然后在粘贴栏点击选择性粘贴。
勾选 值,那么每个人的组别就不会再变动了。
四、多人抽奖活动
我们将以上函数应用在多人抽奖活动中。现在我要抽五个人,使用RANDBETWEEN有重复,这时我们使用RAND+RANK。然后使用INDEX将随机数字转换为人名。
①首先使用RAND产生随机数。
②然后使用RANK对随机数进行排名。
③最后使用INDEX选取排名对应的员工姓名。