excel輕松制作抽獎(jiǎng)系統(tǒng),電子表格Excel制作抽獎(jiǎng)
發(fā)布時(shí)間:2025-08-17 | 來(lái)源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
1. Excel制作抽獎(jiǎng)
1、新建一個(gè)excel表格,把需要抽獎(jiǎng)人的人列在A列,以保證每一個(gè)人都有一個(gè)編碼,并且編碼是唯一的。
2、在中獎(jiǎng)人下面的空白格內(nèi)輸入公式。公式=INDEX(A:A,RANDBETWEEN(5,14))
3、公式解釋如下:1:先輸入一個(gè)‘=’號(hào),然后用RANDBETWEEN函數(shù)生成一個(gè)隨機(jī)數(shù)字,從第5行開(kāi)始到第14行;在RANDBETWEEN前面在加一個(gè)函數(shù)INDEX將A列轉(zhuǎn)換成人員姓名;具體操作步驟:在英文輸入法狀態(tài)下,在等于號(hào)后面輸入RAN就會(huì)直接出現(xiàn)函數(shù),選擇第二個(gè)RANDBETWEEN; 然后在RANDBETWEEN后面的括號(hào)里輸入5,14;(因?yàn)槿藛T序號(hào)是5號(hào)至14號(hào))然后輸入2個(gè)括號(hào)。(2個(gè)括號(hào)是因?yàn)榍懊孢€要加函數(shù))
4、然后在RANDBETWEEN前面輸入in,選擇INDEX;
在INDEX后面的括號(hào)后,把鼠標(biāo)放到A列,選中人員姓名,然后加一個(gè)逗號(hào),點(diǎn)擊回車即可。(加逗號(hào)是為了和后面RANDBETWEEN函數(shù)區(qū)分開(kāi))
5、所有操作完成之后,按F9就可以滾動(dòng)抽獎(jiǎng)了。
2. excel制作抽獎(jiǎng)轉(zhuǎn)盤
用vba編個(gè)程序可以實(shí)現(xiàn)。
將一個(gè)案例分享給大家。程序頁(yè)面如下:
部分代碼如下:
Private Sub CommandButton4_Click()
'開(kāi)始抽獎(jiǎng)
Dim zb As String, dj As String, rs As Integer
Dim SARR(1 To 5000, 1 To 2) '存放本次抽獎(jiǎng)的候選人清單 1-姓名 2-電話號(hào)碼
'Dim lsARR '存放最近100次的候選人
Dim ZZ1 As Integer, ZZ2 As Integer, ZZ3 As Integer
'Dim jgarr
Dim ysARR(1 To 3, 1 To 3) As Integer '三種顏色參數(shù)
Dim zjZD '僅存放姓名+半角分號(hào)(;)+4位尾號(hào)
Dim myName As String
Dim hxRs As Integer, ZJRS As Integer '候選人數(shù),中獎(jiǎng)人數(shù)
Const lsRs = 100 '存放100位候選人
Set zjZD = CreateObject("scripting.dictionary")
'ReDim jgarr(1 To ZJRS) As Long
A = 0 '
ysARR(1, 1) = 255: ysARR(1, 2) = 250: ysARR(1, 3) = 0
ysARR(2, 1) = 255: ysARR(2, 2) = 10: ysARR(3, 3) = 10
ysARR(3, 1) = 255: ysARR(3, 2) = 250: ysARR(3, 3) = 0
'清空顏色
For I = 1 To 15
myName = "TextBox" & I
Set xx = Me.Controls(myName)
xx.BackColor = RGB(255, 255, 255)
xx.ForeColor = RGB(255, 215, 0)
xx.Font.Size = 10
xx.BackStyle = 0
ZZ3 = ZZ3 - 1
If ZZ3 = 0 Then ZZ3 = 15
Next I
zb = ComboBox1.Value
dj = ComboBox2.Value
ZJRS = ComboBox3.Value '中獎(jiǎng)人數(shù)
'讀取還可抽取人數(shù)
With Sheets("中獎(jiǎng)人數(shù)設(shè)定")
For I = 3 To 8
If .Cells(I, 2) = zb Then Exit For
Next I
For j = 9 To 11
If .Cells(2, j) = dj Then Exit For
Next j
kcqrs = .Cells(I, j) '可抽取人數(shù)
End With
If ZJRS = 0 Or ZJRS > kcqrs Or ZJRS > 15 Then
MsgBox ("抽獎(jiǎng)人數(shù)設(shè)置不正確!")
Exit Sub
End If
ReDim jgarr(1 To ZJRS, 1 To 2)
'讀取候選人 放入sarr
Select Case zb
Case "A"
lh = 2
Case "B"
lh = 5
Case "C"
lh = 8
Case "D"
lh = 11
Case "E"
lh = 14
Case "F"
lh = 17
End Select
hxRs = 0
With Sheets("人員清單")
HH = 3
Do While .Cells(HH, lh) <> ""
If .Cells(HH, lh + 2) = "" Then '檢查是否中獎(jiǎng),已經(jīng)中獎(jiǎng)的不得參與搖獎(jiǎng)
hxRs = hxRs + 1
SARR(hxRs, 1) = .Cells(HH, lh)
SARR(hxRs, 2) = .Cells(HH, lh + 1)
End If
HH = HH + 1
Loop
End With
ZZ1 = 0: ZZ2 = 0: ZZ3 = 0
upperbound = hxRs
lowerbound = 1
'1-11:中獎(jiǎng)人數(shù)和候選人數(shù)一樣時(shí),單獨(dú)做一個(gè)循環(huán)
If ZJRS < hxRs Then GoTo 200
'一樣時(shí)
Do While True
For ZZ2 = 1 To hxRs
myName = "TextBox" & ZZ2
Set xx = Me.Controls(myName)
xx.Text = SARR(ZZ2, 1) & Chr(10) & Right(SARR(ZZ2, 2), 4)
Next ZZ2
DoEvents '釋放程序控制權(quán),允許其他事件
Sleep (5) '延時(shí)ms
DoEvents '釋放程序控制權(quán),允許其他事件
If A = 1 Then GoTo 300
Loop
200:
Do While True
100:
SJS = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
MYKEY = Trim(SARR(SJS, 1)) & ";" & Trim(Right(SARR(SJS, 2), 4))
If zjZD.EXISTS(MYKEY) Then
ZZ1 = ZZ1 + 1
If ZZ1 > 10000 Then
MsgBox ("數(shù)據(jù)異常?。?!")
Exit Sub
End If
GoTo 100
End If
'ZZ1 = ZZ1 + 1
'If ZZ1 = 101 Then ZZ1 = 1
ZZ2 = ZZ2 + 1
If ZZ2 = ZJRS + 1 Then ZZ2 = 1
'ZZ3 = ZZ3 + 1
'If ZZ3 = 4 Then ZZ3 = 1
'lsARR(ZZ1) = sjs
myName = "TextBox" & ZZ2
Set xx = Me.Controls(myName)
'xx.Text = Left(SARR(SJS, 2), 3) & "XXXX" & Right(SARR(SJS, 2), 4)
xx.Text = SARR(SJS, 1) & Chr(10) & Right(SARR(SJS, 2), 4)
zjZD.RemoveAll
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
If xx.Text <> "" Then
MYKEY2 = qczf(Left(xx.Text, InStr(xx.Text, Chr(10)) - 1)) & ";" & Right(xx.Text, 4)
zjZD.Add MYKEY2, I
End If
Next I
'xx.BackColor = RGB(ysARR(ZZ3, 1), ysARR(ZZ3, 2), ysARR(ZZ3, 3))
DoEvents '釋放程序控制權(quán),允許其他事件
Sleep (5) '延時(shí)ms
DoEvents '釋放程序控制權(quán),允許其他事件
300:
If A = 1 Then
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
xx.BackColor = RGB(ysARR(1, 1), ysARR(1, 2), ysARR(1, 3))
xx.ForeColor = RGB(0, 0, 255)
xx.Font.Size = 20
xx.BackStyle = 1
'ZZ3 = ZZ3 - 1
'If ZZ3 = 0 Then ZZ3 = 15
Next I
Exit Sub
End If
Loop
End Sub
Private Sub CommandButton5_Click()
A = 1
End Sub
Private Sub CommandButton6_Click() '記錄中獎(jiǎng)信息
Dim zjZD
Dim ZJRS
Dim zjArr
zb = ComboBox1.Value '組別
dj = ComboBox2.Value '等級(jí)
ZJRS = ComboBox3.Value '中獎(jiǎng)人數(shù)
Set zjZD = CreateObject("scripting.dictionary")
'遍歷文本框,獲取中獎(jiǎng)的電話號(hào)碼
For I = 1 To ZJRS
myName = "TextBox" & I
Set xx = Me.Controls(myName)
ARR = Split(xx.Text, Chr(10))
MYTEXT = qczf(ARR(0)) & ";" & qczf(ARR(1))
zjZD.Add MYTEXT, I
xx.Text = ""
xx.BackColor = RGB(255, 255, 255)
Next I
Select Case zb
Case "A"
lh = 2
Case "B"
lh = 5
Case "C"
lh = 8
Case "D"
lh = 11
Case "E"
lh = 14
Case "F"
lh = 17
End Select
With Sheets("人員清單")
For I = 3 To .Cells(10000, lh).End(xlUp).Row
'SARR(SJS, 1) & Chr(10) & Right(SARR(SJS, 2), 4)
'mytext = Left(.Cells(I, lh + 1).Text, 3) & Right(.Cells(I, lh + 1).Text, 4)
MYTEXT = qczf(.Cells(I, lh).Text) & ";" & qczf(.Cells(I, lh + 1).Text)
If zjZD.EXISTS(MYTEXT) Then
.Cells(I, lh + 2) = dj
End If
Next I
End With
End Sub
Private Sub Frame2_Click()
xxx = 1
End Sub
Private Sub UserForm_Initialize()
Dim xstr(1 To 6) As String '保存每列的數(shù)據(jù)
Dim ystr(1 To 3) As String
Dim zstr(1 To 15) As Integer '
xstr(1) = "A"
xstr(2) = "B"
xstr(3) = "C"
xstr(4) = "D"
xstr(5) = "E"
xstr(6) = "F"
ComboBox1.List = xstr
ystr(1) = "一等獎(jiǎng)"
ystr(2) = "二等獎(jiǎng)"
ystr(3) = "三等獎(jiǎng)"
ComboBox2.List = ystr
For I = 1 To 15
zstr(I) = I
Next I
ComboBox3.List = zstr
ComboBox3.Value = 15
End Sub
3. excel制作抽獎(jiǎng)券
我們平時(shí)總用到excel表格,但是很多人還不知道excel表格是可以制作抽獎(jiǎng)小程序的,這個(gè)程序?qū)ξ覀儊?lái)說(shuō)非常方便,無(wú)論是對(duì)于小公司,還是大公司來(lái)說(shuō),這個(gè)都是抽獎(jiǎng)的最好方法,那么如何實(shí)現(xiàn)呢,下面我來(lái)教大家如何操作。
工具/原料
excel表格
電腦
方法/步驟
1、我們打開(kāi)excel表格,在表格中輸入本次抽獎(jiǎng)的獎(jiǎng)品。
2、然后我們選中旁邊一個(gè)大點(diǎn)的表格,擴(kuò)選一下,再次點(diǎn)擊“合并居中”。
3、接下來(lái)在空白大表格中,我們輸入“=RANDBETWEEN()”。
4、然后再后邊小括號(hào)中輸入“1,10”,其中1是橫向第一行,10是縱向第十行,這個(gè)數(shù)字你們可以自己設(shè)定,根據(jù)獎(jiǎng)品排數(shù)設(shè)定的。設(shè)置上述內(nèi)容完畢后,我們需要在“=”后邊加上“INDEX(A:A,”。最終我們輸入的總數(shù)字是“=INDEX(A:A,RANDBETWEEN(1,10)”。
5、輸入了完了“INDEX(A:A,”后,我們這時(shí)按下回車鍵,得到下圖內(nèi)容。
6、我們要將左邊的獎(jiǎng)品隱藏掉,操作方法是,右鍵點(diǎn)擊坐標(biāo)上面的“A”,點(diǎn)擊菜單中的“隱藏”選項(xiàng)。
7、最后我們按住“F9”轉(zhuǎn)盤開(kāi)始轉(zhuǎn)了起來(lái),松開(kāi)F9停手,就可以抽到隨機(jī)獎(jiǎng)品, 這就是我們所說(shuō)的抽獎(jiǎng)小程序。
4. excel制作抽獎(jiǎng)號(hào)碼
這種情況下 用excel更合適 設(shè)定單元格格式為自定義中的“00”(如果是三位數(shù),可以設(shè)置為000) 然后下拉即可實(shí)現(xiàn)
5. excel制作抽獎(jiǎng)系統(tǒng)
材料/工具:Excel2010
1、打開(kāi)電腦后,直接進(jìn)入到excel軟件中,新建一個(gè)空白的表格文檔,在表格中某一列單元格中錄入好我們要抽取的內(nèi)容,例如姓名,編號(hào)等等。
2、錄入完成后,我們?cè)诋?dāng)前表格文檔中重新再去選擇一個(gè)單元格,將其作為最終抽取結(jié)果的展示用。
3、接著我們?cè)谠摮楠?jiǎng)結(jié)果單元格中輸入以下公式:“=INDEX(A:A,RANDBETWEEN(2,61))"。
4、在“=INDEX(A:A,RANDBETWEEN(2,61))"公式中,A:A表示我們要抽取的內(nèi)容所在的單元格列范圍為A列A列,可以自定義。
5、公式輸入完成后,在抽取結(jié)果單元格就會(huì)隨機(jī)產(chǎn)生一個(gè)抽取結(jié)果,我們可以為該抽取結(jié)果單元格設(shè)置一個(gè)格式:字體、字號(hào)、顏色等等。
6、設(shè)置好之后,想要開(kāi)始抽獎(jiǎng)或者抽簽,我們只需要選中抽取結(jié)果單元格,然后按住鍵盤上的“F9”鍵,按下后在抽取結(jié)果單元格中就會(huì)在我們選擇的抽取內(nèi)容中隨機(jī)產(chǎn)生抽取結(jié)果,松開(kāi)“F9”就可以產(chǎn)生一個(gè)抽取結(jié)果。
6. excel制作抽獎(jiǎng)小程序
1、首先打開(kāi)Excel,以制作一個(gè)抽獎(jiǎng)小程序?yàn)槔容斠恍?shù)據(jù)。
2、首先我們?cè)诔楠?jiǎng)區(qū)的單元格中輸入=INDEX()。
3、然后選中數(shù)據(jù)源,也就是所有成員。
4、然后繼續(xù)輸入=INDEX(E:E,Randbetween())。
5、在Randbetween()這個(gè)涵數(shù)中輸入1,5,也就是數(shù)據(jù)源。
6、輸入完成后,回車確認(rèn),這樣一個(gè)抽獎(jiǎng)小程序就制作好了。
7、我們只需要按f9里面的幸運(yùn)兒就跟著切換了。
7. excel制作抽獎(jiǎng)程序
覺(jué)得EXCLE還可能設(shè)計(jì)好,WORD就不知道怎么設(shè)計(jì)了!
用EXCLE設(shè)計(jì)先畫一個(gè)文本框,然后再到上面寫上字,時(shí)間,地點(diǎn),名稱,然后再將文本框設(shè)計(jì)好線型,顏色等等……