Excel:根据GPA和选择偏好为学生分配流

时间:2015-10-15 05:46:14

标签: excel

根据他们的GPA,我总共有64名学生被分配到19个不同的流。学生们也表示他们喜欢溪流。只有5名学生可以分配到前三个流(A-C),4名学生可以分配到D组,剩下的15个流可以分别获得3名学生。我已将数据添加到Excel工作表,但不知道如何处理以实现上述结果。 The data is organized like this。我很高兴分享原始文件但无法找到上传的方式。

1 个答案:

答案 0 :(得分:0)

这可以在vba宏中自动解决,但稍微快一点的版本使用公式做得有点快。它就像你已经开始一样,按gpa排名。

为每个学生插入2行。在这一行中,您将计算流的“填充”。如果你有无数的学生,你应该写一个小的宏来复制粘贴,这样你就可以获得其他每一行。遗憾的是,excel不接受将空值粘贴为无变化值。

通过搜索/替换更改排名,或者创建一个新表单,其中“所需分配”值为MOST WANTED流的最高值。 Cell C2应该是这样的:

 =20-'originalsheet'!C2

我们正在制作新表

所以你有这些行:(学生 - 分配 - 可用性 - 学生 - 分配 - 可用性)

在分配行中,您将填写上述学生的分配,在可用性行中您将填写当前可用空格。

第一个学生被分配给他或她的选择。

分配行获取一个公式,用于调查当前单元格是否具有最低可能值。所以。第2行:第一个学生,第3行:分配,第4行:新可用性,第5行:学生愿望,第6行:我们在单元格C6中使用此公式

=if(sumproduct(max(($C5:$U5)*(($C4:$U4)>0)))=C6;1;0)

然后下一行,新的可用性就是

=C4-C6

将公式向下粘贴。对于完全相似的GPA学生,您可能会遇到麻烦,但您从上到下的排名是该计划的优先级。我没有原始文件,我没有时间从图像构建它,但它看起来像我的微小的测试设置。

比手工操作稍微容易一点,但又一次;如果你有很多学生并经常这样做 - 请在vba部分询问。

要点:

  1. 按GPA排名
  2. 更改最高愿望是最高数字
  3. 为每位学生插入2行
  4. 手动为第一个学生计算,应该不难......
  5. 使用公式并确保单元格引用不会被搞砸。