新来的同事,⽤Excel做了⼀个⾃动筛选⼩程序,瞬间俘获⽼板的⼼!
每天⼀点⼩技能
职场打怪不得怂
编按:众多Excel技巧中,宏常常是被忽略的存在,但是只要灵活的应⽤它,只
需要轻轻⼀个点击,就能有意想不到的效果。今天,⼩E给⼤家带来的就是⽤
Excel函数和宏制作⾃动抽奖程序的⼩技巧。学会它,⽼板也会更看好你哦!
最近收到⼀位友的求助,觉得⽐较典型,在此将解决⽅案与⼤家分享。
问题⽐较简单:60个⼈随机选10个⼈中奖怎么做?
为了便于⼤家理解,这⾥将问题简化为10个⼈随机选三个中奖,道理是⼀样的。模拟效果如动画所⽰。
点⼀下抽奖按钮,就会出现三个幸运者的名字,是不是很有趣呢。
其实要做成这个效果⼀点都不难,只需⽤两个很简单的函数做辅助列,再⽤很简单的录制宏技巧就够了。
下⾯就来详细说明操作步骤和原理,记得⼀起跟着做哦。
添加两个辅助列
1
辅助列1使⽤公式=RAND(),得到⼀组随机数,效果如图所⽰。
回复:⼊,下载练习课件
这个函数太简单了,就不解释了。
辅助列2使⽤公式=RANK(B2,$B$2:$B$11),得到⼀组数字,效果如图所⽰。
【分析】
RANK是⼀个得到排名结果的函数。这个例⼦中,它对辅助列1中的每个随机数计算名次,得到的结果分别是⼀个1到10之间的整数(名次不可能是⼩数)。由于随机数每次都在变,所以对应的每次也是对应发⽣变化的。
【注意】
这两个辅助列的作⽤就是得到10个不重复的整数。
接下来就是得到三个幸运者的姓名。
选出三名幸运者
2
在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语句都可以实现这⼀操作。
不过⽼菜鸟想借这个问题让新⼿体验⼀下录制宏,通过点击按钮来实现刷新数据的乐趣,所以没有⽤上⾯说的⼏种⽅法。
⾔归正传,⼀起来完成最后的⼀步。
添加抽奖按钮
3
在开发⼯具这个选项下⾯,选择插⼊,点击第⼀个按钮⼯具。
然后在表格中拖出⼀个⼤⼩合适的矩形,就可以完成添加按钮的动作。
【注意】
如果你看不到开发⼯具这个选项卡,则需要先在“Excel选项”中到“⾃定义功能区”,在“主选项卡”中勾选“开发⼯具”即可。
按钮添加后,就可以体验⼀下录制宏的乐趣了。真的⾮常简单。
到“录制宏”按钮,⽤⿏标单击以后,给宏起⼀个名字,点击确定。这时会出现“指定的名字已经存在”
的提⽰(因为我们在添加按钮的时候已经起了名字,当时并没有直接录制宏),直接点击确定即可。
此时就可以录制宏了,在任意单元格中双击⿏标,会看到三名幸运者的名字发⽣了变化;然后点击停⽌录制按钮,就完成了录制宏。
现在点击按钮就能看到变化了,完整的操作过程可以看⼀下动画演⽰。
最后在“按钮2”上单击⿏标右键,编辑⽂字。
团购小程序怎么做
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论