公司年会抽奖,我用函数制作了一个抽奖小工具

2020年即将完结 , 各大公司都在盘点着年度经营状况 , 最让我们期待的便是年底的抽奖环节,毕竟谁不想中奖呢...
之前写过一篇用VBA制作抽奖小工具 ,有小伙伴表示用起来太麻烦了,有没有更简便一点的?

公司年会抽奖,我用函数制作了一个抽奖小工具

当然有 , 今天我们就用一个函数来实现抽奖的功能 。
抽奖 , 为了保证公平性,当然得是随机的,Excel中有几个随机函数,可以用来制作抽奖功能 。

RANDBETWEEN INDEX

首先把所有的员工的名单放置在A列中,这里假设有100个员工 , 那么去掉表头,名单依次排列在A2:A101单元格中 。
公司年会抽奖,我用函数制作了一个抽奖小工具

D2单元格内输入公式【=INDEX(A:A,RANDBETWEEN(2,101))
RANDBETWEEN函数用于返回一个区间内的随机整数,如RANDBETWEEN(10,15)可随机返回10-15之间的任意一个整数,配合INDEX函数返回区间内的任意单元格 。
INDEX函数,在给定的单元格区域中,返回特定行列交叉处单元格的值或引用,当所选范围只有一列或一行时,可省略参数第几行或第几列 。
公司年会抽奖,我用函数制作了一个抽奖小工具

可以同时抽多人,按F9刷新中奖人员名单 。
但尴尬的是 , RANDBETWEEN函数随机返回区间内的任意整数,会存在重复的情况 。
公司年会抽奖,我用函数制作了一个抽奖小工具

这显然不是我们想要看到的 。
想要避免这个情况,出现的随机数不能重复 。

RAND RANK

RANDBETWEEN返回区间内的整数,而RAND函数返回大于等于0且小于1随机小数,且位数至少在小数点后15位,几乎不会出现重复数字!
首先增加一列辅助列,在B2单元格内输入【=rand()】,公式下来,产生一列随机小数 。
公司年会抽奖,我用函数制作了一个抽奖小工具

接着利用RANK函数来获取任意随机数在B列的排名,结合INDEX返回中奖名单 。
在D2单元格内输入公式【=INDEX(A:A,RANK(B2,B:B))】,需要同时产生几名中奖者,公式下拉几个单元格皆可,如下图中同时抽5名中奖者 。
公司年会抽奖,我用函数制作了一个抽奖小工具

这样就不会出现同一批次中奖名单出现重复的情况 。
RANK函数返回一个数字在一列数字中相对于其它数值大小的排名,这里先获取B2:B6单元格5个随机数在整个B列中的排名,在结合index返回A列对应的名单 。

小结

【公司年会抽奖,我用函数制作了一个抽奖小工具】利用随机数和排名函数来获取中奖名单,小伙伴们学会了吗?觉得有用欢迎转发关注,每天分享职场小技巧 。

相关经验推荐