姓名 | 标记 | 排名 | 班级 |
---|---|---|---|
艾迪 | 20 | 6 | C |
汤姆 | 10 | 10 | A |
珍妮 | 30 | 4 | A |
丽娃 | 40 | 3 | C |
安迪 | 50 | 2 | B |
标记 | 5 | 11 | B |
莎莉 | 78 | 1 | A |
杰克 | 15 | 8 | B |
迪克 | 15 | 8 | C |
哈利 | 20 | 6 | A |
DOM | 30 | 4 | B |
根据上图中的分数,预计学生将被分配到 A、B 和 C 班。 分数最高的学生进入 A。第二高的学生进入 B。第二高的学生进入 C。下一个再次进入 A,依此类推。 Excel 2013及以上版本计算Class的公式应该是什么?
答案 0 :(得分:2)
答案 1 :(得分:1)
假设您提供的图表位于单元格 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)
但是如果他们的排名相同,那么您可能会遇到两个人去同一个班级的问题。
答案 2 :(得分:1)
如果您使用的是 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 提供的答案应该可以很好地完成这项工作。
如果您有任何问题,请告诉我。