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

Excel formula to apply penalty column to ranking

我对此进行了长期而艰苦的思考,但我找不到解决我认为非常简单的问题的方法。

我有一个 table 的结果,有时会有人受到不同金额的惩罚。这被输入到惩罚栏(Col C)。

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

我尝试通过参考对 'ROW()' 函数的惩罚来查看是否可行,但未能达到预期的效果。

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

列 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”,那么它会影响以下十行。我不知道如何包含这个变量逻辑...

我很想听听其他人的方法...

您需要使用 RANK() 函数:

Excel RANK Function Examples

在一个新的列中,将惩罚值添加到原始位置,再加上一个取决于原始位置的小系数(每增量可能为 0.01),以将受罚球员移动到该位置的原始人下方,然后在下一列你可以对新的值列进行 RANK()(在我的例子中是 F)。

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

然后排名 =RANK(F2,F2:F11,1)

你可以把所有的功能合二为一,但是一开始分栏来做会更清楚。