IT科技

當前位置 /首頁/IT科技 > /列表

excel怎麼做隨機抽獎搖獎器(一)

假設參與抽獎的號碼或姓名在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 隨機 抽獎 #