返回列表 上一主題 發帖

excel是否可以有隨機抽獎的功能

本帖最後由 emma 於 2010-8-5 16:04 編輯

隨機抽獎測試990805.rar (15.23 KB) 回復 20# asimov


asimov 大大,您好~~
關於您所提供的方式,一次只抽出一位得獎人的效果還滿吸引我的,
但不知為何,我所測試出來的結果是,不容易產生重複的ID,
但還是會有產生重複ID的情況發生,
另外,我的ID目前是假設性的以1、2、3...這種類似序號的編排方式
但實際應用的話,應該是會像身份證號這類有英文字開頭的ID來套用,
那麼=INT(RAND()*(COUNTA($B$2B$56)-COUNTA($F$2F$17)))+1
要如何修正才可以達到直接帶出得獎人是誰(身份證號或姓名)的效果?


PS.您好,再附上較新的附件,謝謝!!

TOP

本帖最後由 PD961A 於 2010-8-7 13:55 編輯

回復 14# emma


傳回您指定的數字之間的任意一個亂數。在每次計算工作表時,都會傳回一個新的亂數。
如果無法使用此函數,且傳回 #NAME? 錯誤,請執行程式以安裝「分析工具箱」。

TOP

本帖最後由 asimov 於 2010-8-6 02:14 編輯

回復 14# emma


提供另一種方式
每次只抽出一個中獎人 (I5欄位)
將中獎人依序填入F17,F16,F15
填入F17按enter後在產生下一個中獎人
亂數產生的ID不會重覆
當然必須借助輔助欄
隨機抽獎測試(不重複).zip (4.92 KB)


已更正亂數公式
機器人三大定律-保護人類、服從命令、保護自己
我的三大定律-生命、生存、生活

TOP

展開式
公式1!
F2
{=IF((ROW()-1)<=SUM($D$2:$D$24),INDEX($C$2:$C$24,MATCH(1,--(COUNTIF(F$1:F1,$C$2:$C$24)<$D$2:$D$24),0)),"")}

G2=IF(F2="","",RAND())

H2=IF(F2="","",IF(RANK($G2,$G$2:$G$56)=1,"頭獎",IF(RANK($G2,$G$2:$G$56)<=3,"貳獎",IF(RANK($G2,$G$2:$G$56)<=6,"參獎",IF(RANK($G2,$G$2:$G$56)<=16,"普獎","")))))

gong.rar (8.29 KB)

知之為知之,不知為不知,誠實也!

TOP

本帖最後由 gong 於 2010-8-4 17:52 編輯

另解
公式2!
H2=INDEX($B$2:$C$56,MATCH($F2,$D$2:$D$56,0),1)
I2=INDEX($B$2:$C$56,MATCH($F2,$D$2:$D$56,0),2)

gong.rar (6.52 KB)

知之為知之,不知為不知,誠實也!

TOP

公式2!
E2=IF(RANK($A2,$A$2:$A$56)=1,"頭獎",IF(RANK($A2,$A$2:$A$56)<=3,"貳獎",IF(RANK($A2,$A$2:$A$56)<=6,"參獎",IF(RANK($A2,$A$2:$A$56)<=16,"普獎",""))))
下拉
知之為知之,不知為不知,誠實也!

TOP

本帖最後由 PD961A 於 2010-8-4 16:46 編輯

回復 14# emma


   



   

TOP

回復 14# emma
D欄公式 要加上絕對位置下拉  =RANK(A2,A$2:A$56)
否則  拉到D56時 公式變成    =RANK(A56,A56:A110)
範圍不一樣 才會產生 #N/A

TOP

回復 13# gong


    您好,已附上附件,謝謝您~~

隨機抽獎測試.rar (6.08 KB)

TOP

我說的只是示例,與你的檔案位置不符

要相同位置,上傳檔案吧,無法幫你建資料
知之為知之,不知為不知,誠實也!

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題