看板 Office 關於我們 聯絡資訊
先說明依志願亂數"取出人選"的方法, 再說明志願人數優先順序的設定. 首先給每個人一個0~1的亂數。公式 =RAND() ------ 先看每個人的第一個志願,現在要決定他的志願是否能被保留: 比較每位選擇相同志願者亂數的大小,依序取到社團人數上限。 例如 甲、乙、丙三人都選A,但社團上限2人,就看誰的亂數大,選誰。 ------ 進入下一階段,此時要看志願2, 但是選上的人,其後續的志願一概不看,改成顯示已選上的志願。 承前例 設只有丁的志願1是B,丙的志願2是B 志願1結果 篩選志願2 甲 A A 乙 A A 丙 B 丁 B B 我們不再看甲、乙、丁的志願2,改成顯示他們已入選的社團, 丙沒有選上,故表示他的志願1已滿,顯示志願2。 這樣出來的就是篩選過後的志願2。 接下來要決定丙的志願2可否保留,在前一階段的原則是: 比較每位選擇相同志願者亂數的大小,依序取到社團人數上限。 為了使用相同的原則, 將前階段選上的人亂數加1(成為調整後亂數),確保其結果會保留。 丙雖然亂數變成最小的,但因為B還未達人數上限,故入選。 ------ 以上就是取出人選的方法。(使用函數RAND.SUM和IF) 接下來,為先把最少人選的志願(未達社團人數上限者)挑出來, 所要做的就是改變志願順序。 計算每一社團被選幾次,越少次的排越前面。 例如 戊的志願依序是 E.9.C.6. 調整後可能變成9.6.C.E 因為E最多人選,最後再決定; 9和6可能人數一樣多,那就照戊原先的志願序。 以上,完成。 http://file.wikidot.com/local--files/f/PrioritySort.xls ※ 引述《borhom (小博)》之銘言: : (若是和其他不同軟體互動之問題 請記得一併填寫) : 軟體:office 2003 excel 或 openoffice calc.(3.2.0) : 各位高手, 小弟擔任學校排社團課程的工作, : 由於上學期用手排花了好幾天的時間, : 想詢問一下是否有哪些函數可以用來排社團。 : 欲分類的表格如下: : 社團志願共有 15個(1,2,3,4,...,D,E,F), 每個社團最多三十五人 : 排志願的順序為 : : (1)先把最少人選的志願(未達社團人數上限者)挑出來, 成立社團。 : (2)若所有志願均到達基本人數, 則依志願人數少到多的順序亂數 : 取出各社團人選。 : 班級 座號 姓名 志願1 志願2 志願3 志願4 : 201 01 AAA 1 2 3 4 : 201 02 BBB 3 8 A B : . : . : . : 麻煩各位高手了!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.2.187 ※ 編輯: JieJuen (36.231.152.24), 03/07/2018 08:24:11
JieJuen: 更新檔案連結 03/07 08:24