我试图在excel中找到没有宏的解决方案来解决以下问题:
有一个表格,其中包含不同时间段的学生评分。
因此ID = 1的学生的评分从1月到4月为1,从5月到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轴)和Months(x轴)
| F | G | H | I | J | K | L |
---| ----|--------|--------|--------|--------|--------|--------|
1 | ID | 201401 | 201402 | 201403 | 201404 | 201405 | 201406 |
2 | 1 | | | | | | |
3 | 2 | | | | | | |
4 | 3 | | | | | | |
我希望第二张桌子能够像这样:
| 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的可能性(如果(
有人可以帮忙吗?
答案 0 :(得分:1)
您可以使用SUMPRODUCT
根据您提供的布局,此公式应在放入G2
并填写
=SUMPRODUCT(--($A:$A=$F2),--($B:$B<=G$1),--($C:$C>G$1),$D:$D)
在A列中查找匹配F2的ID,然后找到它们的每一个:
这假设您每个期间只有一个条目,否则它们会将它们相加。
另外,你可以使用SUMIFS
,它不太容易阅读,但我认为它比SUMPRODUCT
略高一些(我不是积极的,只是来自使用的轶事证据)
=SUMIFS($D:$D,$A:$A,"="&$F3,$B:$B,"<="&G$1,$C:$C,">"&G$1)
它完全相同,只是语法不同。