Excel公式将惩罚列应用于排名

时间:2016-09-07 08:24:55

标签: excel rank

我一直在思考这个问题,但我无法找到解决方案,我认为这是一个非常简单的问题。

我有一张结果表,有时会给某人一个不同数额的罚款。这被输入惩罚栏(Col C)。

我需要一个公式,检查是否有一个进入惩罚列的条目并将其应用,不仅仅是该行,而是受影响的后续行数,具体取决于惩罚的严重程度< /强>

我试图通过引用对'ROW()'函数的惩罚来判断这是否可行,但是无法达到预期的效果。

Col D显示公式的所需输出。

Col E仅供参考,以显示每行所需的效果。

Col A    Col B      Col C      Col D     Col E
Pos      Name       Penalty    New Pos   Change
1        Jack                  1         0
2        Matt                  2         0
3        Daniel     2          5         +2
4        Gordon                3         -1
5        Phillip               4         -1
6        Günther               6         0
7        Johann     3          10        +3
8        Alain                 7         -1
9        John                  8         -1
10       Gianmaria             9         -1

最大的问题是,如果某人受到了很大的惩罚,例如'10'那么它会影响以下十行。我无法弄清楚如何包含这个变量逻辑...

我很想听听别人的做法......

1 个答案:

答案 0 :(得分:2)

您需要使用RANK()函数:

Excel RANK Function Examples

在新列中,将惩罚值添加到原始位置,加上一个小系数,取决于原始位置(可能每增加0.01个),将受惩罚的玩家移动到该位置下原始人的下方,然后在下一列中您可以RANK()新的值列(在我的情况下为F)。

因此新值= A2 +(IF(C2> 0,C2 +(0.01 * A2)))

然后

等级= RANK(F2,F2:F11,1)

您可以将所有功能合并为一个,但最初在单独的列中更清楚。