关闭→
当前位置:科普经验站>IT科技>excel怎么做随机抽奖摇奖器(一)

excel怎么做随机抽奖摇奖器(一)

科普经验站 人气:2.09W

假设参与抽奖的号码或姓名在A列,就在B列 输入 =rand() 然后向下复,在 C列 (得奖栏)输入:=INDEX(A:A,MATCH(SMALL(B:

在公司或学校有抽奖活动时,通常会随机抽取号码发放奖励,下文将教大家如何用Excel表格制作随机抽奖摇奖器。

excel怎么做随机抽奖摇奖器(一)

材料/工具

电脑Excel

第一步 确定抽奖的人数 把N个人名有顺序排列在一个位置 第二步 加入函数1=randbetween(1,N) 第三步 加入函数2=index(人名所在的单元格,函数所在的单元格) 第四步 在人名区域选择条件格式=函数2的突出显示(红色填充) 按F9即可开始抽奖(以前

方法1:使用函数

可以对数据进行排序,以避免重复。 方法:假如有100个人,在A1中输入=RAND()*100,拖动到A100 在B1中输入 =RANK(A1,$A$1:$A$100),拖动到B100 然后现在出来的100个数据就不会有重复的了。 在B列中每一个数字都是随机的。 或者你要抽10个人,B列

首先打开相应Excel文件。

1/.在A1:A10区域用=rand()函数,这里就生成10个小于1的小数。 2/.再在B1:B10区域的B1单元格设置函数=rank(A1,A1:A10)向下复制进行排序,放心,不会有重名的。 3/.在C1:C10输入10个参与抽奖人名。 4/.比喻说只有前三名中奖,在D1:D3输入 1,2,3

excel怎么做随机抽奖摇奖器(一) 第2张

使用RAND函数,选中相应单元格后,在图中红框区域输入=RAND(),按回车后,即可得到随机数。

用随机函数rnd()。数一下人头数,每个人都得到一个随机函数,然后排名,比如最大的那个中奖。。。或者你还是写个宏最好啦。

excel怎么做随机抽奖摇奖器(一) 第3张

点击如图中箭头所指出的,单元格右下角向下拖拽,直到所有参与人员都有随机数字。

稍等,我给我写一个 sheet1表A列为姓名列(不限定人数),sheet2表的B2输入需要抽取的人数,如果大于名单人数,会提示超

excel怎么做随机抽奖摇奖器(一) 第4张

excel怎么做随机抽奖摇奖器(一) 第5张

得到所有人随机数后,选中需要得到中奖人的单元格,在红框区域输入函数=INDEX($A$2:$A$9,RANK(B2,$B$2:$B$9)),按回车键,就可以得到中奖人。

=INT(RAND()*9000)+1000&"68" 无论怎么随机,尾号都是68 笑望采纳,谢谢!

excel怎么做随机抽奖摇奖器(一) 第6张

扩展阅读,以下内容您可能还感兴趣。

【EXCEL VBA】抽奖工具: 从N个姓名中随机抽出M个人(M<=N)

稍等百,我给我写一个

sheet1表A列为姓名列(不限定人数),sheet2表的B2输入需要度抽取的人数,如果大于名单问人数,会提示超出并停止运行答,否则在D列列出抽中名单(不专重复,数组与字典相结合的属方法完成)

更多追问追答追问求你了,像楼下的把代码贴上来,我这里的情况不允许下载文件的。感觉你是个高手,我在多加点分,帮忙帖代码啊追答

你不能下载??

代码如下,注意你的sheet1表的A列为待抽名单,sheet2表的B1输入抽奖名额(个数)

Sub test()

    Dim M&, arr, N&, i&, j&

    Dim d As Object

    Set d = CreateObject("scripting.dictionary")

    arr = Sheet1.UsedRange

    Range("D2:D65536").ClearContents

    M = Range("B1")

    N = UBound(arr)

    If N < M Then MsgBox "人数超出" & N: Exit Sub

    Do While i < M

        j = Int(Rnd() * N + 1)

        If Not d.exists(j) Then

            i = i + 1

            d(j) = arr(j, 1)

        End If

    Loop

    Range("D2").Resize(d.Count, 1) = Application.Transpose(d.items)

End Sub追问sheet1的A列第一列应该是列名而不应该全是员工姓名。

rowCount = Sheet1.UsedRange.Rows.Count '姓名列的行数

arr = Sheet1.Range("A2:A" & rowCount) '待被抽数据写入数组

其他和你的一样,另一个问题,M&和 Dim M as Integer 是一个意思吗?追答是的,一个意思,都是整数型数据

第一行是项目,可以从第2开始即可。

j = Int(Rnd() * N + 1)

改为j = Int(Rnd() * N + 2)

N = UBound(arr)

改为

N = UBound(arr)-1

用EXCEL宏做成的随机抽奖的表格

Excel自带有抽奖器的,文件,新建,本机上的模板,电子方案表格,抽奖器。

求高手啊!!EXCEL抽奖器怎么做特定的结果,就是不管电脑怎么随机,最后出现的都是特定的那个数字?

=INT(RAND()*9000)+1000&"68"

无论怎么随机,尾号都是68

笑望采纳,谢谢!

excel如何实现随机抽取且不重复

方法一:公式法

1、我们以生成e799bee5baa6e79fa5e98193e58685e5aeb9313333656566361-10范围内的随机数字为例,讲述方法。

首先,在A2单元格中输入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1))

然后按下Ctrl+Shift+Enter三键结束数组公式。

2、然后,下拉填充公式到A12单元格,也就是填充11个单元格,为什么要填充11个呢,我们明明只要10个数字?这是因为,最后一个数字是不会变化的,所以呢,要生成10个随机数,需要填充11个单元格,同样的生成11个随机数的话,要填充12个单元格,除此之外,公式中的11还要改成12。

3、生成随机数后,每按下一次F9(或者其他单元格进行一次计算),随机数就会刷新一次,重新生成一组随机数,要注意喽!

4、好了,一组不重复的随机数字生成了,现在我们回头看看这个公式是怎么实现的吧。首先看Small函数的第一个参数,也就是数字区域,这里是利用if和Countif函数来实现此单元格上面的单元格区域,是否有当前单元格的数字,如果有,就返回False,而如果没有就返回这个数字,从而生成一组由上面单元格没有的数字和Flase组成的序列,下图是按F9得到的结果:

5、Small函数的第二个参数,也就是从这个序列中取第几个最小值,在得到的数字中,利用随机函数rand和row函数,实现在这有个个数中随机抽取一个数字,从而得到排序中这个数字顺序的一个数字。通过这样一个数组公式,就实现了生成一组不重复的随机数字啦。

方法二:VBA法

1、VBA功能强大,可以利用很多算法实现随机数。这里介绍一种简单的办法。首先在Excel中按下Alt+F11,打开VBE界面,双击要生成随机数的工作表,在右侧空白处需要输入代码。

输入代码如下:

Sub m()

Range("A:A").ClearContents'这里是A列,根据需要修改

For i = 1 To 10'这里是10个数字,根据需要修改

kkk:

Randomize

x = Int(Rnd * 10) + 1

If Application.CountIf(Range("A:A"), x) = 0 Then

Cells(i, 1) = x

Else

GoTo kkk

End If

Next i

End Sub

2、代码原理很简单,就是随机生成数字,如果A列中有了这个数字,就返回再次随机生成,一直到没有这个数字为止;利用循环生成制定数量的数字。

3、按下F5执行代码,就看到在对应的Sheet中的对应列,生成了一组随机的不重复的数字。

一个关于手机号的EXCEL,想随机对这些手机号进行抽奖,抽出50位,请问应该怎么操作啊。感谢

我又不百是很会度

http://www.exceltip.net/forum.php?mod=viewthread&tid=23084

你看看能不能内帮助到容你

TAG标签:#excel #随机 #摇奖 #抽奖 #