◢ | 一个 | 乙 | C | D | 乙 | F | G | H |
---|---|---|---|---|---|---|---|---|
1 | ID | 分数 | ID | 惩罚 | ID | 预期的 | ||
2 | 1 | 30 | 1 | -4 | 1 | 22 | ||
3 | 2 | 46 | 1 | -2 | 2 | 36 | ||
4 | 3 | 41 | 1 | -1 | 3 | 41 | ||
5 | 4 | 20 | 1 | -1 | 4 | 20 | ||
6 | 5 | 53 | 2 | -10 | 5 | 52 | ||
7 | 6 | 5 | 5 | -1 | 6 | 5 |
措辞有点奇怪,所以希望图表能让它更容易理解。有两个单独的表,“A:B”和“D:E”。我想要实现的是,如果 D 列的 ID 值与 A 列的 ID 匹配,则 H 列应该打印出 BE 的值。
前任。
D2 checks A:A for matching ID
D2 value same as A2 value, so H2=B2-E2
D3 checks A:A for matching ID
D3 value same as A2 value, so H2=oldH2-E3
...
Dn checks A:A for matching ID
Dn value same as Ap value, so Hp=Bp(if first encounter) or oldHp(if subsequent encounter) -En
(I think I wrote that correctly)
需要注意的是,A 列将始终包含所有数字 ID 及其分数,但 D 列将仅显示受到处罚的 ID。
可能有一种 ~~easy~~ 方法可以做到这一点,但我能想到的一种方法是将数据转换为2D 矩阵,ID 穿过 x,得分在第 2 行,然后惩罚,如果有的话,继续下面的行。这样,它只是一个简单的 SUM(r:r)。
◢ | 一个 | 乙 | C | D | 乙 | F | G |
---|---|---|---|---|---|---|---|
1 | ID | 1 | 2 | 3 | 4 | 5 | 6 |
2 | 分数 | 30 | 46 | 41 | 20 | 53 | 5 |
3 | 点球1 | -4 | -10 | -1 | |||
4 | 点球2 | -2 | |||||
5 | . | -1 | |||||
6 | . | -1 | |||||
7 | . | ||||||
8 | 最后 | 22 | 36 | 41 | 20 | 52 | 5 |
在我将使用它的实际案例中,将有超过 100-1000 个 ID(不是连续的,但仍会增加值)和数千个惩罚(并非所有 ID 都会有惩罚,但所有受惩罚的 ID 都会有相应的现有 ID)。矩阵可能有效,但我想它会非常大。(这些列可能最终会超过 ZZ)