怎麼確保公平?
名單使用 Fisher–Yates 洗牌:從名單尾端開始,隨機選擇尚未處理的位置交換,逐步完成洗牌。演算法出處見下方 NIST 資料來源。亂數使用 crypto.getRandomValues,搭配拒絕採樣避免直接取餘數產生偏差;不支援時改用 Math.random,並在頁面註記。
分組與重新洗牌
洗牌後輪流把人分到各組,各組人數最多差一人。選「每組 N 人」時,先算出組數,再平均分配。每次按重新分組或重新排,都會重新洗牌;隨機結果仍可能碰巧相同。
座位表怎麼排列?
人與空位一起洗牌,再由左到右、由上到下填入座位,空位也會隨機分布。座位表可左右捲動,也能複製 tab 分隔文字貼入 Excel。
名單與固定安排
資料不會傳出,分組與排座位都在瀏覽器內完成。分組後如要固定某些人同組或分開,本頁不提供這項功能。
相關工具
常見問題
分組人數不能整除怎麼辦?
各組人數最多差一人,多出的人會從前面的組開始各加一人。
每組 N 人會怎麼分?
先以名單人數除以 N 並向上取整,算出組數,再平均分配;結果會列出實際每組人數。
同名的人會被刪掉嗎?
預設保留,同名視為不同人;分組勾選「同名只留一個」才會去除重名。座位表保留同名。
座位不夠或多出來怎麼辦?
座位不足會顯示還差幾個;座位較多時,多的座位會標示「空位」。
可以指定某些人同組或分開嗎?
本頁不提供固定某些人同組或分開的功能。
名單會傳出去嗎?
不會。名單解析、洗牌、分組與座位安排都在瀏覽器內完成。
資料來源
- NIST《Dictionary of Algorithms and Data Structures》:Fisher–Yates shuffle
- MDN:Crypto: getRandomValues() method
本頁資料查核日期:2026 年 10 月。本頁使用上述洗牌演算法與瀏覽器亂數 API;名單上限 500 人,排數與每排座位數各限 1–30。