咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

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列对应的名单。

小结

利用随机数和排名函数来获取中奖名单,小伙伴们学会了吗?觉得有用欢迎转发关注,每天分享职场小技巧。