【问题标题】:SUMPRODUCT INDEX MATCHSUMPRODUCT 索引匹配
【发布时间】:2015-03-06 08:03:31
【问题描述】:

有以下数据:

    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}. 

【问题讨论】:

  • 你能举个例子说明13 APPLES 1000的结果是什么

标签: excel


【解决方案1】:

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

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

对于您的示例,这将为您提供 140,000 的结果

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多