随机分组器

粘贴名单,随机平均分组,还能从名单里随机抽一人。

空行会自动忽略,名字首尾的空格也会去掉,单次最多 2000 人。在输入框里按 Ctrl 加回车也能直接分组。

分组方式

分成 N 组,余数分散到随机挑中的组。

每 M 人一组,最后一组放余下的人。

使用说明

  1. 把名单粘贴进文本框,每行一个名字,粘贴后无需手工排序。
  2. 选择分组方式,按组数填 N,或者按每组人数填 M。
  3. 点击「开始分组」,结果会显示成一组一张卡片。
  4. 点击「复制全部分组」,把整份结果粘贴到聊天窗口或文档里。
  5. 点击「随机抽一人」,从同一份名单里等概率抽出一位。

常见问题

分组结果真的随机吗?
是。每次分组前都用 crypto.getRandomValues 生成随机数做无偏洗牌,取模带来的偏差用拒绝采样消除。浏览器加密随机源不可用时,才回退到 Math.random。
人数除不尽的时候怎么分?
按组数分时,各组人数最多相差一人,多出来的人会分散到随机挑中的组,不会出现空组。按每组人数分时,最后一组放剩下的人,人数不足 M。
名单会被上传或保存吗?
不会。名单和分组结果只在当前页面里处理,刷新或关闭页面就清空,不会上传服务器,也不写入本地存储。
名单里有重复的名字怎么办?
按原样保留。同一个名字出现两次就当成两个独立条目,可能分到不同的组,也可能分到同一组。

使用步骤

  1. 粘贴名单并整理格式

    把名单粘贴进文本框,一行一个名字。空行会被忽略,名字前后的空格会自动去掉,输入顺序保持不变。

  2. 选择分组方式

    按组数分组适合先定小组个数,按每组人数分组适合先定每队规模。切换单选框后,对应的输入框才可编辑。

  3. 按下开始分组

    点击「开始分组」,名单会先被随机打乱,再按当前规则切开。结果一张卡片一组,卡片标题标出组号与人数。

  4. 复制结果或抽取一人

    点「复制全部分组」把整份结果复制走,直接粘贴到群里。点「随机抽一人」会在同一份名单里等概率抽出一位并高亮。

工具详细介绍

这个工具把一份名单随机切成若干小组,支持两种切法。按组数切时,先算出每组的基础人数,再把除不尽的人分给随机挑中的组,各组人数最多相差一人。按每组人数切时,每满 M 人成一组,最后一组放剩下的人,人数不足 M。两种切法都不会产生空组,组号从 1 开始连续编号,卡片上标出每组人数。名单里重复的名字按原样保留,同名的人会被当成两个独立条目。

结果页适合课堂分组、团建分队、值班排班和抽奖等场景。老师把学生名单粘进来,几秒钟就能得到分组表,省去纸笔抽签的时间。团建时先按组数平均分,再让每组自己选队长,过程公开可复核。需要单独选人时,用「随机抽一人」按钮,每位在名单里的人被抽中的概率完全相同,抽中结果会在页面上高亮显示。所有计算都在浏览器里完成,名单不会上传到任何服务器。

原理与背景

要让分组经得起复核,随机性来自洗牌,而不是切分。从最后一位往前遍历,每一步都在剩余前缀里等概率挑一个位置交换,这种写法叫 Fisher-Yates shuffle。n 个人一共对应 n 的阶乘种排列,每种排列出现的概率相同。用取模把 32 位随机数映射到下标会带来偏差,这里用拒绝采样丢掉落在尾部的取值。洗牌完成后按顺序切开,切点位置随机,因此谁和谁同组无法提前预测。

分组人数是否均匀,会直接影响使用体验。按组数分组时,如果简单地把除不尽的人全塞进最后一组,就会出现一组明显偏大,做任务时容易抱怨。把余数逐个分给随机挑中的组,各组人数最多相差一人,视觉上和实际工作量都更均衡。按每组人数分组时,最后一组允许不足 M 人,这是分组人数固定的必然结果。抽一人功能与分组共用同一套随机源,每位在名单里的人被抽中的概率都是 n 分之一。

典型使用场景

  1. 课堂随机分组

    讲小组任务时把班级名单粘贴进来,填好组数后一键分成若干组,各组人数最多相差一人。分组结果可以直接投屏,学生看到随机的过程,讨论谁跟谁一组时少些争议。

  2. 团建活动分队

    拓展训练前把成员名单整理成一行一个,按组数平均分成几队,或者按每组人数固定每队规模。分完点复制,把文本发到活动群里,队长和队名让各队自己补充。

  3. 值班与任务排班

    把值班人员名单粘进来,按组数分成若干小组,用复制结果贴进排班表。需要临时定一位负责人时,用随机抽一人从同一份名单里等概率选出,抽中的人名会在页面上高亮。

使用技巧

  • 名单可以带上编号或部门,例如「三班 07 王小雨」,分组结果里会原样保留这些信息。
  • 临时想多分一组时,直接改组数再点一次「开始分组」,洗牌会重新进行,不会沿用上一次的结果。
  • 名单里有重复行时,先用「去除重复行」整理一遍,可以避免同一个人被分到两个组,分组表更干净。

注意事项

  • 名单至少两人

    只有一个人时无法分组,页面会给出提示。抽一人功能不受这条限制,单独一个人也能抽。分组前请确认名单里没有多余的空行或表头文字,否则它们会被当成名字参与分组。

  • 组数不能超过人数

    要分 5 组却只有 3 个人时,工具会直接提示,不会生成空组。需要更多组时先补充名单,或者改用按每组人数分组,把每组人数设成 1。空组的排班表没有意义,这条校验能省下回头返工的时间。

  • 随机结果无法复现

    每次点击「开始分组」都会重新洗牌,同样的名单和设置会得到不同结果。需要留档时先复制文本或截图,再刷新页面。页面不保存历史,刷新后所有分组结果都会消失。

相关工具