Excel公式将罚分栏应用于排名

我对此已经思考了很长时间,但是我找不到解决我所认为的相当简单的问题。

我有一张结果表,有时候会有人给予不同数额的处罚。 这是进入惩罚栏(Col C)。

我需要一个公式来检查是否有进入惩罚栏的行为,并且根据惩罚的严重程度,不仅将该行应用于该行,而且应用于受影响的后续行的行数

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

列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”,那么它会影响到以下十行。 我无法弄清楚如何包含这个variables逻辑…

我会有兴趣听到别人的做法…

你需要使用RANK()函数:

Excel RANK函数示例

在一个新的列中,将惩罚值加到原来的位置,再加上一个小的系数,取决于原来的位置(也许每次增加0.01),将被惩罚的玩家移动到原来的位置,然后在下一个列中, ()新值列(F在我的情况)。

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

秩为= RANK(F2,F2:F11,1)

你可以把所有的function合并成一个,但是首先在不同的栏目中做更清楚。