Excel:根据另一列中的值和映射值

时间:2018-03-02 15:40:02

标签: excel excel-formula excel-2010 excel-2007

我有下表

enter image description here

每天组织一次单独的体育活动,并为学生提供奖励积分。学生每天都可以参加活动以获得积分。

根据现有专栏,我需要计算每个学生的总奖励积分(第一栏)

如果在D栏中我得到了当天的点数,我可以用SUMIF解决这个问题,但事实并非如此,我不知道如何合并F中我需要求和的值。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

使用此数组公式:

=SUM(SUMIFS(F:F,E:E,INDEX(C:C,N(IF(1,MODE.MULT(IF(ISNUMBER(SEARCH("," & H2 & ",","," & $B$2:$B$7 & ",")),ROW($B$2:$B$7)*{1,1})))))))

作为一个数组公式,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。

enter image description here

编辑,基于TomSharpes但使用SUMIFS而不是OFFSET。

=SUMPRODUCT(ISNUMBER(SEARCH("," & H2 & ",","," & $B$2:$B$7 & ","))*SUMIFS($F$2:$F$4,$E$2:$E$4,$C$2:$C$7))

enter image description here

注意:我使用SEARCH删除案例匹配,并使用,将输入和检查括起来,因此Ann

中找不到Anne

答案 1 :(得分:2)

=SUMPRODUCT(ISNUMBER(FIND(H2,$B$2:$B$7))*N(OFFSET($F$1,MATCH($C$2:$C$7,$E$2:$E$4,0),0)))

enter image description here