用Excel制作一个随机筛选中奖幸运者的自动按钮
作者:老菜鸟来源:部落窝教育发布时间:2021-05-12 10:40:26点击:7489
编按:
Excel中有很多可以实现随机抽奖的操作,其中录制宏,通过点击按钮来实现刷新数据是最有乐趣的技巧之一。下面,小E带来的就是用Excel函数和宏制作自动抽奖程序的小技巧,轻轻一点,即可随机筛选出三个中奖的幸运者……
最近收到一位群友的求助,觉得比较典型,在此将解决方案与大家分享。
问题比较简单:60个人随机选10个人中奖怎么做?
为了便于大家理解,这里将问题简化为10个人随机选三个中奖,道理是一样的。模拟效果如动画所示。
点一下抽奖按钮,就会出现三个幸运者的名字,是不是很有趣呢?
其实要做成这个效果一点都不难,只需用两个很简单的函数做辅助列,再用一个基础的录制宏技巧就够了。
下面就来详细说明操作步骤和原理,记得一起跟着做哦。
第一步:添加两个辅助列
辅助列1使用公式=RAND(),得到一组随机数,效果如图所示。
这个函数太简单了,就不解释了。
辅助列2使用公式=RANK(B2,$B$2:$B$11),得到一组数字,效果如图所示。
【分析】
RANK是一个得到排名结果的函数。这个例子中,它对辅助列1中的每个随机数计算名次,得到的结果分别是一个1到10之间的整数(名次不可能是小数)。由于随机数每次都在变,所以对应的每次也是对应发生变化的。
【注意】
这两个辅助列的作用就是得到10个不重复的整数。
接下来就是得到三个幸运者的姓名。
第二步:选出三名幸运者
在E2处使用公式=INDEX($A$2:$A$11,MATCH(ROW(A1),$C$2:$C$11,0)),并用鼠标下拉三行至E4,这样就可以得到需要的结果。
【分析】
这是一个INDEX+MATCH组合的标准用法,公式的用法之前有很多教程都讲过。
① 这里简单说明一下原理,INDEX的第一参数是候选人姓名所在的区域$A$2:$A$11,因为公式要下拉至下方几个单元格,所以必须要用绝对引用来确定这个选择区域。
② 在MATCH这部分,查找值是ROW(A1)时,返回的是1,而随着公式下拉,这个值就会变成2、3;查找区域$C$2:$C$11的值是辅助列2中的10个整数。
③ 整个公式的作用是得到辅助列2是1、2、3时,所对应的姓名。
到这里,三个幸运者已经有了,刷新随机数就可以让幸运者随机变化。按F9键;或者双击任意单元格;或者用一个很简单的VBA语句都可以实现这一操作。
不过老菜鸟想借这个问题让新手体验一下录制宏,通过点击按钮来实现刷新数据的乐趣,所以没有用上面说的几种方法。
言归正传,一起来完成最后的一步。
第三步:添加抽奖按钮
在开发工具这个选项下面,选择插入,点击第一个按钮工具。
然后在表格中拖出一个大小合适的矩形,就可以完成添加按钮的动作。
【注意】
如果你看不到开发工具这个选项卡,则需要先在“Excel选项”中找到“自定义功能区”,在“主选项卡”中勾选“开发工具”即可。
按钮添加后,就可以体验一下录制宏的乐趣了。真的非常简单。
找到“录制宏”按钮,用鼠标单击以后,给宏起一个名字,点击确定。这时会出现“指定的名字已经存在”的提示(因为我们在添加按钮的时候已经起了名字,当时并没有直接录制宏),直接点击确定即可。
此时就可以录制宏了,在任意单元格中双击鼠标,会看到三名幸运者的名字发生了变化;然后点击停止录制按钮,就完成了录制宏。
现在点击按钮就能看到变化了,完整的操作过程可以看一下动画演示。
最后在“按钮2”上单击鼠标右键,编辑文字。
将按钮2改成抽奖,选中文字再修改字体大小。
【注意】
别忘了隐藏辅助列!
最后,保存文档的时候,有一个重要的问题:选择文件类型。
因为用到了宏,所以会弹出这样一个对话框。
不要慌,用鼠标点击“否”,然后选择启用宏的格式就好了。
整体来说,今天的教程还是非常基础的,但是也足以帮你解决类似的问题了。如果你下次遇到60个人抽10个幸运者这样的问题,是不是也可以搞定了?
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
excel宏的录制应用视频:调用开发工具录制筛选操作添加宏运行按钮
版权申明:
文本作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。