点赞再看,养成习惯;失之东隅,收之桑榆。
微信搜索【亦心Excel】关注这个不一样的自媒体人。
本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Excel系统学习指南系列文章,以及各种Excel资料。
不知不觉就到了年底,新的一年即将从明天开始。时光流逝,不禁让人感慨万千。
当然在这个时间大家应都在期待着年终奖、年会吧。今天我想和大家分享一个Excel制作的抽奖小游戏,可以一次抽一人也可以一次抽多人而且不会重复,还在为年会怎么抽奖发愁的你快来学习吧。
我们首先来制作一个次抽一个人的,一个人的解决了三个人自然问题也不大了。
我们来思考这个抽奖游戏要怎么做?抽奖就是从一堆人中随机抽出一个人的游戏。
1、首先要有员工姓名列表,这解决了先有一堆人的问题;
2、有了数据,我们要从里面找出一个值,我们首先应该想到查找和引用类函数,比如:LOOKUP、VLOOKUP、INDIRECT、INDEX、MATCH、OFFSET、FILTER等函数。这解决了从一堆人里抽一个人的问题;
3、那么随机抽出的问题要怎么解决呢?首先我们想想有哪些随机类的函数?比如:RAND、RANDARRAY、RANDBETWEEN;
大致思路有了,然后我们 就来挑选函数。
RAND 函数:返回 0 和 1 之间的一个随机数;
RANDARRAY 函数:返回介于 0 和 1 之间的随机数字数组;
RANDBETWEEN 函数:返回位于两个指定数之间的一个随机数;
从三个随机函数作用上来看,RANDBETWEEN 函数更符合我们的要求,因为这个函数要求的两个指定数我们可以选择员工列表行号最大和最小值。这样就能随机返回一个员工姓名所在行号。
正好INDEX函数可以根据行号查找值。
如上图,我们先在A列输入一些员工姓名,然后在C5单元格中输入公式「=INDEX(A:A,RANDBETWEEN(1,12)) 」。按住F9抽奖开始员工姓名开始滚动,当松开F9即可得到中奖名单,我们来看看效果。
这样简单的抽一个人的功能就完成了,抽多人的只需要把C5单元格向下填充即可,具体如下:
认真看完动画的,应该发现这样虽然抽三个人的制作好了,但是出现了重复,如下图。
这是因为从1-12中间随机生成一个整数,最坏的情况第13次就会出现重复。显然这种方法对于抽多个人还是有问题的。
那我们就不能用行号作为随机数,这样太容易重复。我们可以在姓名后面加一列辅助列用公式「= RAND ()) 」专门生成随机数,
我们看到RAND生成了9位小数,我们几乎是不可能看到重复值了。
然后我们可以通过RANK函数对辅助列进行排序,这样就可以拿到每个随机的的排名,因为没有重复,这个排名也就等同于行号使用。这样我们再使用INDEX函数即可。最终得到公式:「=INDEX(A:A,RANK(B1,B:B))」。
抽一人抽多人只需调整中奖人员的单元格个数即可。
今天的分享到这里就结束了,但是学习的道路才刚刚开始,希望我们可以在学习的道路上不断地前进,坚持不懈。
如果你有感兴趣的功能,可以告诉小编哦,小编会为你写一篇相应的文章。当然是先到先写哈,我会列一个计划表,尽量满足大家的需求,所以如果下一篇不是你要的文章,请不要着急,可能就在下下篇。记得告诉小编你想学习的功能哦。
文章持续更新,可以微信搜索「 亦心Excel 」第一时间阅读,本文 GitHub https://github.com/hugogoos/Excel 已经收录,包含Excel系统学习指南系列文章,欢迎Star。