假設(shè)參與抽獎(jiǎng)的號碼或姓名在A列,就在B列 輸入 =rand() 然后向下復(fù),在 C列 (得獎(jiǎng)欄)輸入:=INDEX(A:A,MATCH(SMALL(B:
在公司或?qū)W校有抽獎(jiǎng)活動(dòng)時(shí),通常會(huì)隨機(jī)抽取號碼發(fā)放獎(jiǎng)勵(lì),下文將教大家如何用Excel表格制作隨機(jī)抽獎(jiǎng)?chuàng)u獎(jiǎng)器。
材料/工具
電腦Excel
第一步 確定抽獎(jiǎng)的人數(shù) 把N個(gè)人名有順序排列在一個(gè)位置 第二步 加入函數(shù)1=randbetween(1,N) 第三步 加入函數(shù)2=index(人名所在的單元格,函數(shù)所在的單元格) 第四步 在人名區(qū)域選擇條件格式=函數(shù)2的突出顯示(紅色填充) 按F9即可開始抽獎(jiǎng)(以前
方法1:使用函數(shù)
可以對數(shù)據(jù)進(jìn)行排序,以避免重復(fù)。 方法:假如有100個(gè)人,在A1中輸入=RAND()*100,拖動(dòng)到A100 在B1中輸入 =RANK(A1,$A$1:$A$100),拖動(dòng)到B100 然后現(xiàn)在出來的100個(gè)數(shù)據(jù)就不會(huì)有重復(fù)的了。 在B列中每一個(gè)數(shù)字都是隨機(jī)的。 或者你要抽10個(gè)人,B列
首先打開相應(yīng)Excel文件。
1/.在A1:A10區(qū)域用=rand()函數(shù),這里就生成10個(gè)小于1的小數(shù)。 2/.再在B1:B10區(qū)域的B1單元格設(shè)置函數(shù)=rank(A1,A1:A10)向下復(fù)制進(jìn)行排序,放心,不會(huì)有重名的。 3/.在C1:C10輸入10個(gè)參與抽獎(jiǎng)人名。 4/.比喻說只有前三名中獎(jiǎng),在D1:D3輸入 1,2,3
使用RAND函數(shù),選中相應(yīng)單元格后,在圖中紅框區(qū)域輸入=RAND(),按回車后,即可得到隨機(jī)數(shù)。
用隨機(jī)函數(shù)rnd()。數(shù)一下人頭數(shù),每個(gè)人都得到一個(gè)隨機(jī)函數(shù),然后排名,比如最大的那個(gè)中獎(jiǎng)。。?;蛘吣氵€是寫個(gè)宏最好啦。
點(diǎn)擊如圖中箭頭所指出的,單元格右下角向下拖拽,直到所有參與人員都有隨機(jī)數(shù)字。
稍等,我給我寫一個(gè) sheet1表A列為姓名列(不限定人數(shù)),sheet2表的B2輸入需要抽取的人數(shù),如果大于名單人數(shù),會(huì)提示超
得到所有人隨機(jī)數(shù)后,選中需要得到中獎(jiǎng)人的單元格,在紅框區(qū)域輸入函數(shù)=INDEX($A$2:$A$9,RANK(B2,$B$2:$B$9)),按回車鍵,就可以得到中獎(jiǎng)人。
=INT(RAND()*9000)+1000&"68" 無論怎么隨機(jī),尾號都是68 笑望采納,謝謝!
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
【EXCEL VBA】抽獎(jiǎng)工具: 從N個(gè)姓名中隨機(jī)抽出M個(gè)人(M<=N)
稍等百,我給我寫一個(gè)
sheet1表A列為姓名列(不限定人數(shù)),sheet2表的B2輸入需要度抽取的人數(shù),如果大于名單問人數(shù),會(huì)提示超出并停止運(yùn)行答,否則在D列列出抽中名單(不專重復(fù),數(shù)組與字典相結(jié)合的屬方法完成)
你不能下載??
代碼如下,注意你的sheet1表的A列為待抽名單,sheet2表的B1輸入抽獎(jiǎng)名額(個(gè)數(shù))
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 "人數(shù)超出" & 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列第一列應(yīng)該是列名而不應(yīng)該全是員工姓名。
rowCount = Sheet1.UsedRange.Rows.Count '姓名列的行數(shù)
arr = Sheet1.Range("A2:A" & rowCount) '待被抽數(shù)據(jù)寫入數(shù)組
其他和你的一樣,另一個(gè)問題,M&和 Dim M as Integer 是一個(gè)意思嗎?追答是的,一個(gè)意思,都是整數(shù)型數(shù)據(jù)
第一行是項(xiàng)目,可以從第2開始即可。
j = Int(Rnd() * N + 1)
改為j = Int(Rnd() * N + 2)
N = UBound(arr)
改為
N = UBound(arr)-1
用EXCEL宏做成的隨機(jī)抽獎(jiǎng)的表格
Excel自帶有抽獎(jiǎng)器的,文件,新建,本機(jī)上的模板,電子方案表格,抽獎(jiǎng)器。
求高手啊??!EXCEL抽獎(jiǎng)器怎么做特定的結(jié)果,就是不管電腦怎么隨機(jī),最后出現(xiàn)的都是特定的那個(gè)數(shù)字?
=INT(RAND()*9000)+1000&"68"
無論怎么隨機(jī),尾號都是68
笑望采納,謝謝!
excel如何實(shí)現(xiàn)隨機(jī)抽取且不重復(fù)
方法一:公式法
1、我們以生成e799bee5baa6e79fa5e98193e58685e5aeb9313333656566361-10范圍內(nèi)的隨機(jī)數(shù)字為例,講述方法。
首先,在A2單元格中輸入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1))
然后按下Ctrl+Shift+Enter三鍵結(jié)束數(shù)組公式。
2、然后,下拉填充公式到A12單元格,也就是填充11個(gè)單元格,為什么要填充11個(gè)呢,我們明明只要10個(gè)數(shù)字?這是因?yàn)?,最后一個(gè)數(shù)字是不會(huì)變化的,所以呢,要生成10個(gè)隨機(jī)數(shù),需要填充11個(gè)單元格,同樣的生成11個(gè)隨機(jī)數(shù)的話,要填充12個(gè)單元格,除此之外,公式中的11還要改成12。
3、生成隨機(jī)數(shù)后,每按下一次F9(或者其他單元格進(jìn)行一次計(jì)算),隨機(jī)數(shù)就會(huì)刷新一次,重新生成一組隨機(jī)數(shù),要注意嘍!
4、好了,一組不重復(fù)的隨機(jī)數(shù)字生成了,現(xiàn)在我們回頭看看這個(gè)公式是怎么實(shí)現(xiàn)的吧。首先看Small函數(shù)的第一個(gè)參數(shù),也就是數(shù)字區(qū)域,這里是利用if和Countif函數(shù)來實(shí)現(xiàn)此單元格上面的單元格區(qū)域,是否有當(dāng)前單元格的數(shù)字,如果有,就返回False,而如果沒有就返回這個(gè)數(shù)字,從而生成一組由上面單元格沒有的數(shù)字和Flase組成的序列,下圖是按F9得到的結(jié)果:
5、Small函數(shù)的第二個(gè)參數(shù),也就是從這個(gè)序列中取第幾個(gè)最小值,在得到的數(shù)字中,利用隨機(jī)函數(shù)rand和row函數(shù),實(shí)現(xiàn)在這有個(gè)個(gè)數(shù)中隨機(jī)抽取一個(gè)數(shù)字,從而得到排序中這個(gè)數(shù)字順序的一個(gè)數(shù)字。通過這樣一個(gè)數(shù)組公式,就實(shí)現(xiàn)了生成一組不重復(fù)的隨機(jī)數(shù)字啦。
方法二:VBA法
1、VBA功能強(qiáng)大,可以利用很多算法實(shí)現(xiàn)隨機(jī)數(shù)。這里介紹一種簡單的辦法。首先在Excel中按下Alt+F11,打開VBE界面,雙擊要生成隨機(jī)數(shù)的工作表,在右側(cè)空白處需要輸入代碼。
輸入代碼如下:
Sub m()
Range("A:A").ClearContents'這里是A列,根據(jù)需要修改
For i = 1 To 10'這里是10個(gè)數(shù)字,根據(jù)需要修改
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、代碼原理很簡單,就是隨機(jī)生成數(shù)字,如果A列中有了這個(gè)數(shù)字,就返回再次隨機(jī)生成,一直到?jīng)]有這個(gè)數(shù)字為止;利用循環(huán)生成制定數(shù)量的數(shù)字。
3、按下F5執(zhí)行代碼,就看到在對應(yīng)的Sheet中的對應(yīng)列,生成了一組隨機(jī)的不重復(fù)的數(shù)字。
一個(gè)關(guān)于手機(jī)號的EXCEL,想隨機(jī)對這些手機(jī)號進(jìn)行抽獎(jiǎng),抽出50位,請問應(yīng)該怎么操作啊。感謝
我又不百是很會(huì)度
http://www.exceltip.net/forum.php?mod=viewthread&tid=23084
你看看能不能內(nèi)幫助到容你
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com