You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Sheets按多约束拆分200+学生为团建旅行小组?

基于Google Sheets的多约束学生团建分组方案指导

一、OpenSolver 实操步骤(无代码基础友好)

  • 安装插件:直接在Google Sheets插件商店搜索「OpenSolver」完成安装
  • 整理数据结构:
    • 主表列:姓名、性别、专业、家乡、国籍、可前往城市(提前筛选排除学生家乡/本国对应的城市)、分组ID(留空待填充)
    • 新建「约束配置表」:明确每组必须满足的条件:性别至少2种、专业至少3种、家乡/国籍至少3种,每组人数5-10人
  • 配置规划求解参数:
    • 目标函数:可选「分组数量最小化」,或自定义「组内多样性最大化」(用SUM(COUNTA(UNIQUE(组内属性列)))计算每组属性多样性总和)
    • 变量范围:选中所有学生的分组ID列,设置为整数类型(对应组号)
    • 添加核心约束:
      1. 每个学生的分组ID必须匹配其可前往城市对应的组号(提前给每个城市分配专属组号,确保学生不去禁忌地点)
      2. 用COUNTIF(分组ID列, 组号)统计每组人数,设置>=5且<=10
      3. 用COUNTA(UNIQUE(组内性别列))统计每组性别种类,设置>=2;专业、家乡、国籍同理设置对应阈值
      4. 所有学生的分组ID不能为空(确保全员分组)
  • 运行求解:若首次结果不符合预期,微调约束阈值(比如把专业种类要求降到2种),多次迭代优化

二、GitHub group-allocator 简化使用方案

  • 预处理数据:把学生数据导出为CSV,列名对应项目要求(如「性别」→gender、「专业」→major),并在CSV中新增allowed_cities列,提前填好每个学生可前往的城市(排除家乡/本国)
  • 快速运行:
    • 用Google Colab打开项目的笔记本文件(无需本地安装环境)
    • 替换示例CSV路径为你的文件路径,修改配置参数:
      group_size_min = 5
      group_size_max = 10
      mix_attributes = ["gender", "major", "hometown", "nationality"]
      # 直接用CSV里的allowed_cities列限制分配范围
      
    • 依次运行所有代码块,生成分组结果后导出为CSV,再导入Google Sheets

三、手动辅助优化技巧(工具兜底方案)

  • 先按「可前往城市」拆分学生池:确保每个池里的学生都不会去到家乡/本国
  • 每个城市池内,先按性别拆分出子池,再按专业交叉搭配,先搭建每组的基础框架(比如1男1女+2个不同专业),再填充剩余人数
  • 用Google Sheets的RAND()函数生成随机数,打乱学生顺序,避免人为分组偏见;用COUNTIF+UNIQUE实时检查组内属性多样性

内容的提问来源于stack exchange,提问作者peritus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:27:37