【问题标题】:Distributing students across classes based on marks根据分数在班级之间分配学生
【发布时间】:2021-04-08 08:39:53
【问题描述】:

Name Marks Rank Class
Eddie 20 6 C
Tom 10 10 A
Jenny 30 4 A
Riva 40 3 C
Andy 50 2 B
Mark 5 11 B
Sally 78 1 A
Jack 15 8 B
Dick 15 8 C
Harry 20 6 A
Dom 30 4 B

根据上图中的分数,预计学生将被分配到 A、B 和 C 班。 得分最高的学生进入A。第二高的学生进入B。第二高的学生进入C。下一个再次进入A,依此类推。 Excel 2013及以上版本计算Class的公式应该是什么?

【问题讨论】:

  • Excel 2013 及更高版本?那么您可以访问 Microsoft365 吗?此外,您应该将数据添加为降价示例数据而不是图片。也包括您对公式的尝试。

标签: excel excel-formula


【解决方案1】:
  • Marks降序Rank升序对表格进行排序。
  • D2: =CHOOSE(MOD(ROWS($1:1)-1,3)+1,"A","B","C")

【讨论】:

    【解决方案2】:

    如果您使用的是 Excel 365,则可以使用 SORTBY 功能解决问题。

    假设 Name 列在名为 List_Name 的命名范围内,Marks 列在名为 List_Marks 的命名范围内,您的示例数据集在范围内A1:D12,并且您想在 D 列中返回类代码。

    在单元格D2中,输入以下任一公式并向下拖动:

    =CHOOSE(MOD(MATCH(A2,SORTBY(List_Name,List_Marks,-1),0),3)+1,"C","A","B")
    

    或者,您可以在单元格D2 中使用以下内容:

    =INDEX({"C";"A";"B"},MOD(MATCH(A2,SORTBY(List_Name,List_Marks,-1),0),3)+1)
    

    如果您不能使用 SORTBY 功能,那么 Ron Rosenfeld 提供的答案应该可以很好地完成这项工作。

    如果您有任何问题,请告诉我。

    【讨论】:

      【解决方案3】:

      假设您提供的图表在单元格 A1-D11 中

      尝试在侧面制作一个 2x3 图表(我使用 F2-G4 和 1...A 2...B 0...C

      然后将公式放入D1如下:=vlookup(mod(C2,3),F2:G4, false)

      如果你愿意,你甚至可以跳过整个 C 列,写成 =vlookup(mod(rank(A2,B:B),3),F2:G4, false)

      但是,如果他们的排名相同,您可能会遇到两个人上同一班的问题。

      【讨论】:

        猜你喜欢
        • 2016-07-13
        • 2013-06-05
        • 1970-01-01
        • 2022-01-14
        • 2019-06-14
        • 2016-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多