根据一列排名,如果需要决胜局则使用另一列

Rank based on one column and use another column if tie breaker is needed

我在 A 列中有一些组的“名称”,我想根据其在 B 列中的值对每个“名称”进行排名。如果任何“名称”在 B 列中具有相同的值,它将需要查看 C 列以确定决胜局(如果其中任何一个是并列的,则需要查看 D 列的值)。我正在寻找 VBA 或公式(我可以将其插入到我的 VBA 代码中)。我正在处理的现实生活中的数据比这更复杂,排序对我想要完成的事情不起作用。我不想在开始时使用 SUMPRODUCT(或类似的),因为如果有平局,我只需要它来考虑其他列中的数据。

我以前用VBA还算过得去,但是好久没用了,所以很生疏。我不知道从哪里开始,所以感谢您的帮助!

要在 VBA 中执行此操作需要相当多的编码。如果您想对避免平局进行排名,常见的解决方案是创建一个辅助列,您可以在其中组合两个目标列。例如,您可以将 Issue 列添加到 NDX 列除以 1000(或更多,具体取决于您使用的小数位数),因此第一行将显示为 6.74420%.

然后您只需在辅助列上排名。

在您的示例中,辅助列公式为:

=$B:$B+$D:$D/1000

您的排名公式为:

=RANK.EQ(F2,$F#)

...依此类推。