我需要按以下方式计算表 3 中每一行的总体得分:
从中取出
Round
数字和名称,并找到与两者匹配的相应行。取值。(例如,对于 的第 5 行,它是 的第三行。)但是,如果 Pair 列在 列中,则取 +/- 符号反转的分数。(例如,对于 的第 3 行,它将是 的第一行,但我们得到的值应为。)我们称之为Pair
Table3
Table1
Score
Table3
Table1
Pair2
Table3
Table1
-5
值1。Round
将行号 (fromTable3
) 与Round
数字 from进行匹配Table2
并获取Score Average
值。我们称之为值2。该
Overall Score
行的 是Value1 - Value2
。
例如:对于第三行:B1 在第 3 行的总得分为:-5-(-1.25)=-3.75
我如何组合多个 MATCH 条件并同时处理 IF 条件?
答案1
MATCH()
仅使用和无法完成此操作IF()
。您需要使用包含数组的公式。
在范围内输入以下公式K3:K26
:
=SUMPRODUCT(Table1[Score]*(Table3[[#This Row],[Round]]=Table1[Round])*(Table3[[#This Row],[Pair]]=Table1[Pair1])-Table1[Score]*(Table3[[#This Row],[Round]]=Table1[Round])*(Table3[[#This Row],[Pair]]=Table1[Pair2]))-INDEX(Table2[Score Average],MATCH(Table3[[#This Row],[Round]],Table2[Round],0))
上述公式适用于 Excel 2007+。以下更易于阅读的版本适用于 Excel 2010+:
=SUMPRODUCT(Table1[Score]*([@[Round]]=Table1[Round])*([@[Pair]]=Table1[Pair1])-Table1[Score]*([@[Round]]=Table1[Round])*([@[Pair]]=Table1[Pair2]))-INDEX(Table2[Score Average],MATCH([@[Round]],Table2[Round],0))
美化后的公式如下:
=
SUMPRODUCT(
Table1[Score]*([@[Round]]=Table1[Round])*([@[Pair]]=Table1[Pair1])
-Table1[Score]*([@[Round]]=Table1[Round])*([@[Pair]]=Table1[Pair2])
)
-INDEX(Table2[Score Average],MATCH([@[Round]],Table2[Round],0))