如下圖,在 Excel 的工作表裡,如何產生多組相同人員名單的亂數?
例如,人員:甲,乙,丙,丁,戊,要產生多組不同的亂數排列。
【設計與解析】
1. 定義名稱
區段:=OFFSET(工作表1!$C$4,INT((ROW(工作表1!1:1)-1)/5)*5,0,5,1)
(1) INT((ROW(工作表1!1:1)-1)/5)*5
當公式向下複製時,會產生 0,0,0,0,0,1,1,1,1,1,2,2,…。
(2) 在 OFFSET 函數中,以儲存格C4為起點,產生儲存格範圍。
儲存格C4:C8,C4:C8,C4:C8,C4:C8,C4:C8→儲存格C9:C13,C9:C13,C9:C13,C9:C13,C9:C13→儲存格C14:C18,C14:C18,…。
2. 設計公式
儲存格B4:=CHOOSE(RANK(C4,區段),"甲","乙","丙","丁","戊")
複製儲存格B4,貼至儲存格B4:28。
(1) 利用 RANK 函數判斷C欄中的儲存格內容在區段中的排名。
(2) 利用 CHOOSE 函數依第(1)式的傳回值對應一個人員名字。
你可以依此應用在每週亂數排班,參考下圖:(每按一次F9鍵,就會亂數一次)
【參考資料】
OFFSET 函數參考微軟提供的說明網頁:OFFSET 函數
CHOOSE 函數參考微軟提供的說明網頁:CHOOSE 函數
RANK 函數參考微軟提供的說明網頁:RANK 函數
文章標籤
全站熱搜
留言列表