如何在Excel中基于非累积分类列dynamic创build累计总计

略啰嗦的标题,但在这里

我在Excel中有一个网格,其中包括3栏(媒体支出,边际收入回报和媒体渠道投资),我想创build下面一栏叫所需的累计支出

电网这样构build的原因在于,它代表了一个最佳的支出放置方式,即每个媒体渠道的预算应投入多less钱,直到边际报酬减less,这样才能取代另一个媒体渠道。

如果新渠道的曲线急剧减less,这种替代可能会被逆转回原始渠道,使得与新渠道相关的所有边际收益减less,总支出水平仍然意味着在math上切换回到原来的曲线(也许它有一个较低的基准水平,但减less幅度较小)。 也有可能在与新渠道相关的边际收益减less的时候,最好的下一步就是投资第三个渠道。

所需的新花费列有两个元素

  1. 这是一个从一排到另一排的简单积累
    媒体频道从一排到另一排是不变的
  2. 当媒体频道改变时,花费的花费要稍微多一些 – 那么它就需要能够回到与被replace的频道相关联的最后花费水平。对于第4行,我正在努力的逻辑是需要从第3行加上与第4行相关的新花费水平减去上一次使用此通道花费水平(第2行)

|spend | mar return | media | desired cumulative spend | |------ |----------- |-------| ----------------------------------------- | 1 | £580 | 128 | chan1 | 580 | 2 | £620 | 121 | chan1 | 580+(620-580) | 3 | £900 | 115.8 | chan2 | 580+(620-580)+900 | 4 | £660 | 115.1 | chan1 | 580+(620-580)+900+(660-620) | 5 | £920 | 114 | chan2 | 580+(620-580)+900+(660-620)+(920-900) | 6 | £940 | 112 | chan2 | 580+(620-580)+900+(660-620)+(920-900)+(940-920) | 

如果我的评论是正确的消化,那么类似这样的事情应该这样做(£580在A2,所以第一个输出是D2):

 D2 =A2 D3 =D2+A3-IF(COUNTIF($C$2:C2,C3),INDEX(A:A,MAX(IF($C$2:C2=C3,ROW($A$2:A2))))) 

D3包含一个数组公式,并且必须用ctrl + shift + enter确认

现在你可以简单地从D3复制下来。