SUMPRODUCT INDEX MATCH

有了以下数据:

AB 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函数来计算每个月的百分比变化,并将该值作为价格表的倍数,以便在所有types的产品中提供每月的总价格。

我可以将运动计算为:

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

…但是我需要根据这种types的价格来计算单个移动值的部分,并将所得到的产品相加在一起。 我一直在使用各种INDEX / MATCH组合,没有太多的运气。

举个例子:BANANAS应该=(5-2)*5000

写作扩展数组我想这样做

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

使用SUMPRODUCT意味着你需要一个单一的数字结果。 您可以使用SUMIF作为SUMPRODUCT的“伪查找”来获取价格,例如

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

这会给你带来14万的结果

从你的问题我明白你想要的结果是一个数组。 这是你用这个公式得到的:

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

使用Ctrl Shift Enter作为数组公式input

在这里输入图像说明

我相信有一些更简单的东西。 我假设价格表中的types是唯一的:

{=(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)