如何根据 excel 中的 non-cumulative 分类列动态创建累计总计

How to dynamically create a cumulative overall total based on a non-cumulative categorical column in excel

有点罗嗦的标题,但这里是

我在 excel 中有一个网格,其中包括 3 列(媒体支出、边际收入 returns 和投资的媒体渠道),我想在下面创建名为所需累积支出的列

之所以以这种方式构建网格,是因为它代表了一个优化的支出安排,按照每个媒体渠道的预算应该投资多少来排序,直到边际 returns 减少,这样它应该被另一个媒体渠道取代。

如果新渠道的曲线急剧递减,那么这种替代可能会逆转回原始渠道,这样与新渠道相关的所有边际收益都会减少,总支出水平仍然意味着它是切换回原始曲线在数学上是明智的(也许它的基础水平较低但减少幅度较小)。也有可能在与新渠道相关的边际收益减少时,最好的下一步是投资第三个渠道。

所需的新支出列有两个元素


  1. 时,它是逐行支出的简单累积 媒体通道在行与行之间保持不变
  2. 这是一个稍微棘手的支出积累,当媒体 频道更改 - 然后它需要能够引用回 与渠道关联的最后支出水平 代入。对于第 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:C2,C3),INDEX(A:A,MAX(IF($C:C2=C3,ROW($A:A2)))))

D3 contains an array formula and must be confirmed with ctrl+shift+enter.

现在你可以直接从D3复制下来了。