怎樣利用EXCEL製作一些隨機抽人名的程式

2008-05-22 4:04 am
例如我有48個人名
將佢地分為8個人為組
共分成6組
可以點set 呢?
thx~~~
更新1:

例如我有48個人名 將佢地随機分為8個人為組 共分成6組 可以點set 呢? thx~~~

回答 (2)

2008-05-22 5:53 pm
✔ 最佳答案
以下方法不用輸入陣列公式,會稍為易些。
步驟一
在A1至A48用下拉方法輸入1-48數字
步驟二
在B1至B48輸入人名
步驟三
在C1至C48輸入公式 =rand( ),製造亂數。
步驟四
在D1輸入公式 =RANK(C1,$C$1:$C$48)
再將D1公式複製至D2至D48。
[這步是]判定亂數的大小次序。
步驟五
在F1輸入公式 =VLOOKUP(D1,$A$1:$B$48,2)
再將F1公式複製至F2至F8。
[現在出了第一組的組員名單]
步驟六
在G1輸入公式 =VLOOKUP(D9,$A$1:$B$48,2)
再將G1公式複製至G2至G8。
[現在出了第二組的組員名單]
步驟七
用以上同樣方法在欄H, I, J, K 建立第三至第六組名單。
步驟八
在某一空格內按住 DEL 鍵一段時間,便可模仿電腦分組。
步驟九
將結果複製至WORD, 避免結果改變。
2008-05-22 6:37 am





此題已算Excel的中級題, 不懂者可能難于登天

先給你一個思路, 在Excel用隨機方法求不重複值, 除非用VBA, 否則便一定要用相同數量的輔助格

請依以下方法, 一步步去完成:

A1:A48 是48個姓名

設B欄是輔助欄, 在B1輸入公式 =RAND()

將B1下拉至B48

在C1輸入陣列公式

=INDEX($A:$A,MATCH(SMALL($B$1:$B$48,COLUMN(A1)*8-ROW(A1)+1),$B$1:$B$48,))

輸入陣列公式的方法是

輸入公式後, 不要按Enter, 要先用左手同時按Ctrl + Shift兩鍵不放, 右手才按Enter

C1 的陣列公式輸入后, 是會看到公式是被一對大括號套住的

再將C1的公式, 右拉, 下拉

C1: H8便是你要的8人x6(組)的結果

2008-05-22 17:39:24 補充:
公式應考慮: 盡量少用輔助格及可右拉下拉
建議cswppsam步驟5, 在F1輸入普通公式:
=VLOOKUP(COLUMN(A1)*8-ROW(A1)+1,IF({1,0},$D$1:$D$48,$B$1:$B$48),2,0)
右拉, 下拉
省略步驟1, 不需A欄輔助


收錄日期: 2021-04-19 01:10:40
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20080521000051KK02342

檢視 Wayback Machine 備份