如何利用函數產生隨機抽樣的結果
問題的來龍去脈
公司舉辦抽獎活動,準備了25個獎項,想要在200個員工中依員工編號抽出中獎者。如何能透過函數隨機列出25個不重複的中獎者之員工編號?
問題的解決方法
要解決上述問題,我們可以使用Randbetween及 Countif兩個函數來完成這項工作。
我們假設員工編號是從1~200,處理的步驟如下:
1. 在C1和E2儲存格中,分別輸入最小及最大的員工編號(例如「1」和「200」)。
2. 在儲存格B4~E8中設定儲存格色彩,讓畫面好看些。
3. 在儲存格B4中輸入公式:=IF(COUNTIF($B$4:$E$8,B4)>1,RANDBETWEEN($C$2,$E$2),B4)
按下Enter之後,可以看到如下圖的結果。
4. 將儲存格B4中的公式,向下複製再向右複製,得到類似下圖的結果:
5. 將儲存格B4中的公式,再向下及向右複製一次,即可去除E8儲存格中的0值,得到如下圖的類似結果:
³ 每一個人產生的亂數編號都不相同。
³ 爾後員工編號有增減時,只要更改E2中的200即可。
³ 由於受到公式的限制,無法按下F9之類的重算按鍵來達到重新計算的目的;但是只要再將B4中的公式向下及向右複製,即可完成重算的工作。
³ 如果想要了解Randbetween及 Countif兩個函數的用法,請參考Excel的求助說明。
³ 公式「=IF(COUNTIF($B$4:$E$8,B4)>1,RANDBETWEEN($C$2,$E$2),B4)」的說明如下:
如果B4的值在B4:E8的範圍中出現超過一次,就使用RANDBETWEEN函數再產生一個新的數值,否則就使用B4中原來的值
這篇文章中的資訊適用於
Excel 2010
Excel 2007
Excel 2003