[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來更新隨機樣本資料。

 

 

Yiru@Studio - 關於我 - 意如