如何根据该地区的最高申请人分数排序申请人分数表?

时间:2019-01-25 14:38:10

标签: excel vba ranking

我需要根据分数将申请人分类到不同的框中。我已经计算了所有框中的匹配分数,并希望首先选择最匹配的申请人。

我正在寻找创建可自动执行该过程的VBA代码。 样本数据:

Appl |   Box1  | Box2   | Box3  

1    |  316.67 | 453.57 | 244.44

2    |  183.33 | 196.43 | 366.67

3    |  50.00  | 463.10 | 244.44

4    |  16.67  | 16.67  | 61.11

理想情况下,对申请人进行2倍排序后,他们将从列表中删除。我正在考虑使用等级函数,但是不能将我的头包裹在双重排序上... 有什么建议吗?

所需结果:

     |   Box1   | Box2    | Box3    

     |  Appl 1  | Appl 3  | Appl 2

     |  Appl 3  | Appl 2  | Appl 1

1 个答案:

答案 0 :(得分:0)

使用您的示例;与A1:D5

中的示例数据一起使用

在示例数据的同一工作表的相邻单元格中插入Box1Box2Box3标头。

将此公式放在Box1下的单元格中 =INDEX(A2:A5,MATCH(LARGE(B2:B5,1),B2:B5,FALSE),1)

公式的LARGE部分将在B2:B5中找到最大值,1标识最大值。 如果将其替换为2,它将标识范围LARGE(B2:B5,2)

中的下一个较低值。

例如,可以为Box2Box3范围修改MATCH函数; =INDEX(A2:A5,MATCH(LARGE(C2:C5,1),C2:C5,FALSE),1)

如果要获得第二个最大值,只需在LARGE函数中更改1即可;例如; =INDEX(A2:A5,MATCH(LARGE(C2:C5, 2 ),C2:C5,FALSE),1)

图片示例:

enter image description here