Excel 转换不带VBA但带有索引和匹配的值

Excel 转换不带VBA但带有索引和匹配的值,excel,Excel,我正在尝试在excel中找到一个没有宏的解决方案,以解决以下问题: 有一个表格,包含不同时间段的学生评分 因此,ID=1的学生从1月到4月的评分为1,从Mai到6月的评分为3 从1月到6月,另外两名学生的排名保持不变(6和9) | A | B | C |D | ---| ----|------------|------------|-------| 1 | ID | START | END |RANK

我正在尝试在excel中找到一个没有宏的解决方案,以解决以下问题:

有一个表格,包含不同时间段的学生评分

因此,ID=1的学生从1月到4月的评分为1,从Mai到6月的评分为3

从1月到6月,另外两名学生的排名保持不变(6和9)

     | A   | B          | C          |D      |
  ---| ----|------------|------------|-------|
   1 | ID  | START      | END        |RANKING|
   2 | 1   | 01.01.2014 | 30.04.2014 |   1   |
   3 | 1   | 01.05.2014 | 30.06.2014 |   3   |
   4 | 2   | 01.01.2014 | 30.06.2014 |   6   |
   5 | 3   | 01.01.2014 | 30.06.2014 |   9   |
下一个表包含ID(y轴)和月份(x轴)

我希望第二张桌子是这样的:

| ID  | 201401 | 201402 | 201403 | 201404 | 201405 | 201406 |
| ----|--------|--------|--------|--------|--------|--------|
| 1   |    1   |    1   |    1   |    1   |    3   |    3   |
| 2   |    6   |    6   |    6   |    6   |    6   |    6   |
| 3   |    9   |    9   |    9   |    9   |    9   |    9   |
我尝试使用索引和匹配,但没有任何好的结果,因为我还没有找到使用IF(IF)的可能性(


有人能帮忙吗?

您可以通过
SUMPRODUCT

根据您提供的布局,当放入
G2
并反复填写时,此公式应该有效

=SUMPRODUCT(--($A:$A=$F2),--($B:$B<=G$1),--($C:$C>G$1),$D:$D)

它的功能完全相同,只是语法不同。

谢谢,我会试试它。这些双减号的作用是什么?双连字符正在转换布尔值列表(真、假)值为0和1。每个连字符都充当一个否定词。当您否定某个值时,excel会将基础值转换为数字,然后反转符号。因此
TRUE
变为-1,
FALSE
变为0。第二个否定词将反转此值,只留下数字,从而允许SUMPRODUCT`实际相乘而不是抛出正在查找错误。感谢您的解释。谢谢,您的解决方案正在运行,并且比使用索引和匹配的解决方案更易于阅读。没有问题!我使用另一个解决方案编辑了我的答案,该解决方案可能比
SUMPRODUCT
稍微更有效,但阅读起来有点困难
=SUMPRODUCT(--($A:$A=$F2),--($B:$B<=G$1),--($C:$C>G$1),$D:$D)
=SUMIFS($D:$D,$A:$A,"="&$F3,$B:$B,"<="&G$1,$C:$C,">"&G$1)