Dear All,
我是一名稽核員。
> 尾牙快到了,要非常公平地抽獎怎麼辦?
> 抽獎: RANDBETWEEN 函數。
> 不重複中獎人: RAND + INDEX +RANK函數。
> 重點: 可以按「F9」鍵,進行隨機產生動作。
> 第38篇練習檔。←在這裡。
一、 ★ 介紹 RANDBETWEEN 函數 ★
> = RANDBETWEEN(最小值,最大值)
最小值: 隨機產生數字的最小值。
最大值: 隨機產生數字的最大值。
Tips: 所輸入的最小值、最大值,即便輸入有小數點位數,隨機產生數值只會是實數。
(No 小數點位數)。例如: = RANDBETWEEN(0.1,3.3) →只會出現的結果: 1、2、3。
> =RANDBETWEEN(1,8)
|
函 數 |
說 明 |
結 果 |
|
=RANDBETWEEN(1,8) |
最小值:1 |
5 |
二、 ★ 將隨機產生從數字→姓名 ★
> INDEX + RANDBETWEEN 函數一起使用。
INDEX函數延伸閱讀:
>21. EXCEL 教學:最強拍檔MATCH、INDEX函數 / 附練習檔
> =INDEX (搜尋範圍,行號,列號)
=INDEX(C3:C10,RANDBETWEEN(1,8))
>重點: 行號。範例是使用 RANDBETWEEN 隨機產生實數。
Tips: 關於「行號」、「列號」: 可以只填一個行號。
三、 ★ 使用RAND(), RANK函數讓中獎人不重複出現 ★
> 每一個 RANDBETWEEN函數,都是獨立個體。所以會出現抽獎人姓名重複的問題。
> 要改善這個問題,必須使用RAND(), RANK + INDEX函數。
> =RNAD()。 在0~1之間,隨機產生數字。且不用引數。
>=RANK(想排行的數值,資料範圍)
RANK延伸閱讀:
> 19. EXCEL 教學:業績排行表、計算加總、平均及排名、低於平均值。
Step 1. 新增一列「亂數」欄位,輸入: =RNAD()。
Step 2. 產生數值是0~1之間,我會將公式從原本 =RNAD()→ =RAND()*100。然後下拉。
Step 3. 使用RANK函數,對亂數整列欄位進行排行。如下圖:
> 因為排行順序不會重複,所以利用此特點,就能達到中獎人名字不重複。
> =INDEX(C3:C10,RANK(E3,E3:E10))
> 可以將公式更加進階,直接在用「亂數」欄位進行排行。
> =INDEX(C3:C10,RANK(D3,D3:D10))

作者您好, 我剛剛研究了一下,發現rank是會重複的! 以簡單的數字來評比: 70,80,80,90 用rank來比較會是 4,2,2,1 所以發現應該還是會重複的呢!
您好, 非常高興您能提出問題。 就您的例子的話,說的沒錯!單就Rank函數,結果一定會重複。 為了不讓公式判斷上重複,就需要將判斷數值/範圍變大。所以才將「亂數欄位」數值變大,如:數值乘上100,並且新增小數點後數值增加公式判斷,來避免問題發生。 不知道是否有回答到您的問題,有任何問題,盡量問。
超級感謝您!!! 經過這篇教學 我學會了!!! 也成功達到我要的目的 很棒~~~超級感恩!!!
不會。 我也是邊學邊寫作。