【Excel教學】實作抽籤機

文、意如老師

如何從清單中隨機抽出一筆或多筆資料,亂數抽樣產生中獎名單,本篇將實作抽籤程式,隨機抽英文單字當練習題。

任務一:認識INDEX( )函數
任務二:認識RANDBETWEEN( )函數
任務三:認識ROWS( )函數
任務四:實作應用-抽籤程式-隨機抽英文單字當練習題
4-1. 準備清單資料
4-2. INDEX( )、RANDBETWEEN( )與ROWS( )組合應用
4-3.隨機取出多筆資料

任務一:認識INDEX( )函數

INDEX( )函數會傳回表格或範圍內的某個值或值的參照。
公式:INDEX ( array , row_num, [column_num])

參數說明:array為必要參數需代入要參照的範圍。
row_num 取陣列中的列,以從該列傳回值。
(如果省略row_num,column_num為必填)。
column_num 取陣列中的欄,以從其中傳回值。
(如果省略column_num,row_num為必填)。


應用範例:
準備資料

抓出筆電價格公式為=index(A1:B5,2,2)
在A1:B5 範圍內,抓取第二列、第二欄的值,結果為37600

抓出手機價格公式為=index(A1:B5,4,2)
在A1:B5 範圍內,抓取第四列、第二欄的值,結果為13000

任務二:認識RANDBETWEEN( )函數

RANDBETWEEN( )函數會傳回介於<最小值>與<最大值>兩個數字之間的亂數,最小值跟最大值都只能是整數。

公式:RANDBETWEEN ( bottom, top)

參數說明:bottom必要參數,為回傳亂數的最小值,資料只能是整數。
top 必要參數,為回傳亂數的最大值,資料只能是整數。

應用範例:
資料50-300之間隨意抽取一個數字
公式為:=RANDBETWEEN(50,300)
可以按下 F9 鍵,讓 Excel 重新計算表格中的公式(每一次都可以隨意抽取一個數字)。

任務三:認識ROWS( )函數

用於傳回參照或陣列中的列數。

公式:=ROWS (array)

參數說明:array必要參數為要取得列數的範圍。

應用範例:

取得品名A2到A7共有幾列(幾筆資料)?
=rows(A2:A7)
此結果回傳共 ”6”(列)筆資料

取得價格B1到B5共有幾列(幾筆資料)?
=rows(B2:B5)
此結果回傳共 ”4”(列)筆資料

任務四:實作應用-抽籤程式-隨機抽英文單字當練習題

4-1. 準備資料(英文單字的清單)

機密 confidential
污染 contamination
化學 chemical
缺陷 defect
影響 impact
改善 improve
檢驗 inspection
禁止 inhibition
批貨 lot
光學 lithography

將此資料輸入到儲存格中(如下圖)

4-2. INDEX( )、RANDBETWEEN( )與 ROWS( )組合應用
如果需要從名單中隨機抽一題出來練習,可以使用剛剛所介紹的三個函數INDEX( )、RANDBETWEEN( )與 ROWS( )將其組合起來取得一筆隨機的題目。

公式如下:=INDEX(名單範圍,RANDBETWEEN(1,ROWS(名單範圍)))

公式解析步驟一:
先使用ROWS( ) 取得總清單的數量共幾筆資料,當作隨機數的最大值
=ROWS(A1:A10)

目前結果回傳為”10”

步驟二:接著使用RANDBETWEEN()函數,產生一個介於 1 到名單數量之間的隨機整數。

輸入公式:=RANDBETWEEN(1,ROWS(A1:A10))

回傳亂數介於1-10 之間,目前結果回傳亂數為“3”,按下F9可以取得新的亂數值。

最後一個步驟:
使用INDEX()函數取出對應位置的資料
最後再把範圍套進去即可
=Index(範圍,列的位置)

完整公式:=INDEX(A1:A10,RANDBETWEEN(1,ROWS(A1:A10)))

隨機抽取題目已完成囉,如果要重新抽題可以按下按下 F9 鍵,讓Excel重新計算表格中的公式即可。


4-3. 隨機取出多筆資料
若要從清單中取出多筆資料,只要將D2的公式往下複製即可產生多筆隨機資料,但要記得下拉前先將範圍資料加上$字號鎖定儲存格範圍。
公式:=INDEX($A$1:$A$10,RANDBETWEEN(1,ROWS($A$1:$A$10)))

最後按下F9來更新隨機樣本資料。

加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料