SUMPRODUCT INDEX MATCH

时间:2015-03-06 08:03:32

标签: excel

使用以下数据:

    A       B
1   CUMULATIVE PERCENTAGE OF ITEMS PRODUCED PER MONTH ("COMPLETION_TABLE")
2   Type     Month 1   Month 2
3   KITTENS  0         10
4   FISH     0         20
5   BANANAS  2         5
6   APPLES   0         0
7   PEARS    0         5
8   KITTENS  0         5
9           
10          
11  PRICES TABLE ("PRICES_TABLE")
12  Type     Value  
13  APPLES   1000   
14  BANANAS  5000   
15  PEARS    3000   
16  FISH     4000   
17  KITTENS  2000   

我试图使用SUMPRODUCT函数来计算每个月的百分比变化,并将该值用作价格表的倍数,以提供已生成的所有类型的每月总价。

我可以将运动计算为:

=SUMPRODUCT((COMPLETION_TABLE[Month 2]-COMPLETION_TABLE[Month 1]))

...但我需要根据该类型的价格计算单个移动值的部分,并将得到的产品加在一起。我一直在使用各种INDEX / MATCH组合而没有太多运气。

作为一个例子:BANANAS应该=(5-2)*5000

写作扩展数组我想做

({10;20;5;0;5;5}-{0;0;2;0;0;0})*{2000;4000;5000;1000;3000;2000}. 

3 个答案:

答案 0 :(得分:3)

根据您的问题,我了解您想要的结果是数组。这就是你用这个公式得到的:

=INDEX($B$13:$B$17,MATCH($A3:$A8,$A$13:$A$17,0))*($C3:$C8-$B3:$B8)

使用 Ctrl Shift 输入作为数组公式输入。

enter image description here

答案 1 :(得分:3)

使用SUMPRODUCT意味着你需要一个数字结果。您可以使用SUMIF作为"伪查找"在SUMPRODUCT内获得价格,例如

=SUMPRODUCT(C3:C8-B3:B8,SUMIF(A13:A17,A3:A8,B13:B17))

这样可以为你的例子带来140,000的结果

答案 2 :(得分:2)

我确信有一些更简单的事情。我假设价格表中的类型是唯一的:

{=(SUM((A13=$A$3:$A$8)*$C$3:$C$8)-SUM((A13=$A$3:$A$8)*$B$3:$B$8))*SUM((A13=$A$13:$A$17)*$B$13:$B$17)