![Excel 中如何从两列之和中获得更大的结果](https://linux22.com/image/1471636/Excel%20%E4%B8%AD%E5%A6%82%E4%BD%95%E4%BB%8E%E4%B8%A4%E5%88%97%E4%B9%8B%E5%92%8C%E4%B8%AD%E8%8E%B7%E5%BE%97%E6%9B%B4%E5%A4%A7%E7%9A%84%E7%BB%93%E6%9E%9C.png)
你好,
我有一张包含足球比赛结果的电子表格。每场比赛结果由 2 列表示。一列显示进球数,另一列显示失球数。工作表 1 上的表格如下所示:
GF GA GF GA GF GA
Team A Team B Team C
2001 0 - 12 0 - 9 0 - 6
2002 1 - 5 1 - 1 0 - 4
2003 1 - 11 2 - 8 0 - 5
2004 4 - 1 0 - 6 1 - 6
2005 1 - 6 1 - 6 1 - 5
2006 0 - 5 1 - 7 0 - 7
============================
根据上述结果,我在这里尝试实现的第 2 张表格应如下所示:
TGF TGA GD BR WR
Team A 7 40 -33 4-1 0-12
Team B 5 37 -32 1-1 0-9
Team C 2 33 -31 0-4 0-7
TGF = Total Goals For
TGA = Total Goals Against
GD = Goal Difference
BR = Best Result
WR = Worst Result
我已经正确填写了前 3 列,但我不知道如何填写其他 2 列。最佳结果列和最差结果列基于该比赛的净胜球数。请注意,最佳结果并不总是意味着胜利,因为 A 队的最佳结果是 4-1 获胜,而 B 队的最佳结果只是 1-1 平局,至于 C 队,他们得到的“最佳”结果是 0-4 失利。
我如何在 Excel 中实现这一点?请记住,每个结果必须分布在 2 列中,如上所示。
谢谢。
答案1
假设此表:
最佳成绩A队:
=INDEX(B3:B8,SUMPRODUCT((B3:B8-D3:D8*1.01=MAX(B3:B8-D3:D8*1.01))*ROW(B3:B8))-ROW(B2))&" - "&INDEX(D3:D8,SUMPRODUCT((B3:B8-D3:D8*1.01=MAX(B3:B8-D3:D8*1.01))*ROW(B3:B8))-ROW(B2))
最差成绩A队:
=INDEX(B3:B8,SUMPRODUCT((B3:B8-D3:D8*1.01=MIN(B3:B8-D3:D8*1.01))*ROW(B3:B8))-ROW(B2))&" - "&INDEX(D3:D8,SUMPRODUCT((B3:B8-D3:D8*1.01=MIN(B3:B8-D3:D8*1.01))*ROW(B3:B8))-ROW(B2))
怎么运行的:
考虑函数SUMPRODUCT((B3:B8-D3:D8*1.01=MAX(B3:B8-D3:D8*1.01))*ROW(B3:B8))
。
当列差等于最大(或最坏情况下的最小)差时,它将返回 1,否则它将返回 0。“*1.01”因子是决胜局。如果净胜球数相等,决胜局将倾向于失球数最少的结果,因此只返回一个最大值(或最小值)。
然后将比较结果乘以行号。由于我们只有一个“1”,它将返回最佳(最大)或最差(最小)结果的行号。
最后它使用该INDEX
函数来创作乐谱。
答案2
假设 GF 在 A 列,GA 在 C 列,则 D 列中有公式
=IF(A3-C3>=0,A3-C3,0)
如果 A 队获胜,这将显示非零正整数值。
E 列中有以下公式。
=IF(C3-A3>=0,C3-A3,0)
如果 C 队获胜,这将显示非零正整数值。
Best Win -> =MAX(D3:D7)
Worst Loss -> =MAX(E3:E7)