您现在的位置是: 首页 > 小程序 > 正文

小程序

excel怎么制作抽奖小程序?

xiaochengxu 2022-02-18 17:58:35 小程序
  用Excel制作抽奖小程序,可以利用函数INDEX函数在结合其它函数用公式法实现。具体制作方法如下:例一:假设现在我们要抽一等奖1名步骤1、把需要参与抽奖的人员姓名整理记录在Excel表格中同一列,并设置抽奖结果要放置的单元格位置及格式。表格整理设置后如下:步骤2、在E6  

用Excel制作抽奖小程序,可以利用函数INDEX函数在结合其它函数用公式法实现。

具体制作方法如下:

例一:假设现在我们要抽一等奖1名

步骤1、把需要参与抽奖的人员姓名整理记录在Excel表格中同一列,并设置抽奖结果要放置的单元格位置及格式。表格整理设置后如下:

步骤2、在E6单元格里输入以下公式: =INDEX(A$2:A$13,RANDBETWEEN(1,12));

步骤3、选中A列名字区域,然后点击菜单栏目的【条件格式】—【突出显示单元格规则】—【等于】,

在弹出的【等于】对话框中,设置:=E6单元格,填充颜色可以设置为:浅红填充色深红色文本,如下图:

步骤4、最后按住F9键不停,就可以看到E6单元格的名字开始滚动起来,停下按F9键时,一等奖的幸运儿就产生啦。

公式解析:

公式=INDEX(A$2:A$13,RANDBETWEEN(1,12))有用到两个函数,INDEX函数和RANDBETWEEN函数。

RANDBETWEEN函数:

含义:返回一个介于指定的数字之间的随机数;

语法格式:=RANDBETWEEN(bottom,top);

参数意义:

Bottom参数: 将返回的最小整数。

Top参数: 将返回的最大整数。

所以RANDBETWEEN(1,12)表示随机抽取产生1 ~ 12之间的任意数。

INDEX函数:

含义:返回表或区域中的值或对值的引用;

语法格式:=index(array,row_num,column_num);

参数意义:

Array参数:表示单元格区域或数组常数;

row_num参数:表示要引用的行数;

column_num参数:表示要引用的列数;

(注意:如果省略row_num,则必须有column_num;如果省略column_num,则必须有row_num);

INDEX函数最终结果就是引用出区域内行列交叉处的内容。

比如:公式:=index(A$2:A$13,6),意思就是返回A列第6个姓名。

所以,上述抽奖程序中的公式:=INDEX(A$2:A$13,RANDBETWEEN(1,12)),就是先用RANDBETWEEN函数产生1 ~12之间的随机数,在用index函数引用出A2:A13区域中,由RANDBETWEEN函数产生的随机数所在的单元格姓名。

例二、假如中奖者有多名,比如:一等奖有2名。

上述INDEX函数+RANDBETWEEN函数的公式法,适合在中奖者只设置1名的情况,当中奖者设有多名时,上述的公式在抽取多名中奖人员时,会抽到重复的人员。为了避免抽到重复人员,我们可以用以下方法:

步骤1、插入辅助列B列,在B2单元格输入以下公式:= RAND(),公式向下填充;

步骤2、在E2单元格里输入以下公式:=INDEX(A$2:A$13,RANK(B2,B$2:B$13)),公式在向下填充;

步骤3、选中A列名字区域,然后点击菜单栏目的【条件格式】—【突出显示单元格规则】—【新建规则】,如下图所示:

在弹出的【新建规则】对话框中,选择“使用公式确定要格式化的单元格”,输入公式:

=NOT(ISNA(VLOOKUP(A2,$E$6:$E$7,1,0))),然后点击【格式】,设置填充颜色,即可,如下图:

步骤4、最后按住F9键不停,就可以看到E6单元格的名字开始滚动起来,停下按F9键时,一等奖的幸运儿就产生啦。

公式解析:

RAND函数

含义:返回0~1之间的小数,包含0,但不包含1;

语法格式:=RAND(),它是无参数;

RANK函数

含义:排名函数,常用来是求某一个数值在某一区域内的排名;

语法格式:= rank(number,ref,[order])

参数意义:

number 参数:为需要求排名的那个数值或者单元格名称(单元格内必须为数字);

ref 参数:为排名的参照数值区域;

order参数:为0和1,默认不用输入,得到的就是从大到小的排名,若是想求倒数第几,order的值请使用1。

所以,上述公式:=INDEX(A$2:A$13,RANK(B2,B$2:B$13))中,

RANK(B2,B$2:B$13),是对B2:B13单元格产生的随机数字排序,生成了随机的1-12的数字。RANK函数产生的排序结果将用于INDEX函数的参数。

INDEX函数返回表格(B2:B13)中的元素值,此元素由行号的索引值(也就是RANK函数的运算结果)给定。

因为B列的数字是完全随机的,所以任何数字出现在前2行的概率都相同。

当然,最后你可以把表格美化一下,让整个抽奖器看过去更美观一点。


发表评论