Excel 2003:更好的解决scheme10 if语句

在这里输入图像说明 对于使用2个单元格组合的10个语句,我有一个非常粗略的解决方法,如下所示

Cell 1 (O2) =IF(C2="TW2-OUT",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE),IF(C2="TW2-IN",IF($D2="","",VLOOKUP($D2,Players,10,FALSE)),IF(C2="Playing",IF($D2="","",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE)),IF(C2="IN1OUT2",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),IF(C2="TW1-OUT",IF($D2="","",VLOOKUP($D2,Players,8,FALSE)),IF(C2="TW1-IN",IF($D2="","",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE)),IF(C2="TW3-OUT",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),0)))))))+P2 Cell 2 (P2) =IF(C2="TW3-IN",IF($D2="","",VLOOKUP($D2,Players,11,FALSE)),IF(C2="IN2OUT3",VLOOKUP($D2,Players,10,FALSE),IF(C2="IN1OUT3",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),0))) 

有没有更好的方法来做到这一点。 我已经通过谷歌search阅读使用数组的表格方法来实现相同的效果。 然而,在我的情况下,球员的地位决定了球员的得分,这使我感到困难。 这里有10个可能的状态(如果语句)细分如下计算得分:

 TransferStatuses Cols Playing 8+9+10+11 TW1-IN 9+10 TW1-OUT 8 TW2-IN 10+11 TW2-OUT 8+9 TW3-IN 11 TW3-OUT 8+9+10 IN1OUT2 9 IN1OUT3 9+10 IN2OUT3 10 8 = ColK (Transfer Window 0) 9 = ColL(Transfer Window 1) 10 = ColM (Transfer Window 2) 11 = ColN(Transfer Window 3) 

'score'数组将如下所示:

 =VLOOKUP(C2,$S$2:$T$11,2,FALSE) 

问题是,我不知道如何把它放在一起,使其工作,即我必须将我的公式扩展到300个单元格,但我不知道如何实现它,以便数组正确计算每个分数球员?

有人可以帮忙吗?

如果我正确理解你,我会这样来处理:

设置一个二进制值matrix,为每个状态指定哪些列应该相加。 使用OFFSETMATCH查找每个数据行的状态并返回二进制值的数组/范围, SUMPRODUCT将其总和。 看截图:

在这里输入图像描述