我一直在思考这个问题,但我无法找到解决方案,我认为这是一个非常简单的问题。
我有一张结果表,有时会给某人一个不同数额的罚款。这被输入惩罚栏(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'那么它会影响以下十行。我无法弄清楚如何包含这个变量逻辑...
我很想听听别人的做法......
答案 0 :(得分:2)
您需要使用RANK()函数:
在新列中,将惩罚值添加到原始位置,加上一个小系数,取决于原始位置(可能每增加0.01个),将受惩罚的玩家移动到该位置下原始人的下方,然后在下一列中您可以RANK()新的值列(在我的情况下为F)。
因此新值= A2 +(IF(C2> 0,C2 +(0.01 * A2)))
然后等级= RANK(F2,F2:F11,1)
您可以将所有功能合并为一个,但最初在单独的列中更清楚。