虽然网路上已经有很多抽奖工具了,不过我还是以这样为范例来教大家怎么做,毕竟随机这件事也不见只用在抽奖上,你也可以是比如从班上 50 个人随机抽出几个人要干嘛,而一般 Excel 教学在网路上,都是教怎么随机抽出一人,这还蛮容易的,但要随机抽出多人,就不那么容易,我也是搞了蛮久,虽然大概知道原理要怎么做,不过在尝试期间一直遇到怪问题,总之,先来个简易版的,大家一起来试试看吧。

Excel 教学 - 製作抽奖工具

首先,我本来是想要一行公式就解决,但不知道为什么在 C2 的阵列一直出问题,最后才又多拆了一行出来,变成下面的范例。

首先 C2 的公式如下

=IF(ROW()-1<=B2,SORTBY(SEQUENCE(COUNTA(A:A),1,1,1), RANDARRAY(COUNTA(A:A),1)),"")

请在输入公式时不要直接 Enter,要变成阵列要按下 Ctrl + Shift + Enter,前后就会出现 {}。

然后就会在这里产生辅助用的乱数了,公式原则上后面那段

SORTBY(SEQUENCE(COUNTA(A:A),1,1,1), RANDARRAY(COUNTA(A:A),1))

这是用来产生指定范围内「不重复」的随机整数。




再来就要抽出名单,因为我们已经在 C 产生好不重复的随机数字,接下来只要利用 INDEX 将 C 栏内容显示出来就可以了,而前方的 IF 用意,就是用来判断需要显示的数量有多少,搭配 ROW 这个公式即可。

=IF(ROW()-1<=B$2,INDEX(A:A,C2),"")

这样就搞定了,当然还有其它做法,比如用 RAND 搭配随机排列也是可以,只要一直取 RANK 后的前几名,方法有很多,我这边提供其中一种方式给大家参考。

最后也提供范例檔给大家去学习使用:请点我下载

Excel 教学 – 製作抽奖工具,可设定要抽出几人(有范例檔可下载)