多级总结(相关的子级别到其父级)没有macros

在我的工作簿之一中将会有像(BoM)结构那样的dynamic物料清单。 表格是dynamic的,所以契约水平可以随时间变化。

常量是:

  • 只有孩子才有价值,父母会从孩子那里获得价值。
  • 父值=子值的总和

目标是:

  • 任何父标行都是其子值的总和。 级别(n + 1)是例如级别n的子级

    1 {30+50} parent 2 {10+10+10} parent 3 10 child 3 10 child 3 10 child 2 50 parent 

我试过了:

  • 我可以实现家长/孩子的标签。 假设Level标题在单元格A1中,则相关公式为:

    =IF(NOT(ISBLANK(A3));IF(A3>A2;"parent";"child");IF(A46=A45;"child";"parent"))

  • 尤其是search到网页却找不到一个有利的例子
  • 经过多次search,我得出的结论是,它可以实现与offsetmatchindexrow和使用数组公式可能是但无法实现

这些dynamic结构有很多行,所以对我来说这将是非常有益的。 我不能运行一个macros(不允许)

我认为解决scheme将是一个长期的命令句,如果有人可以帮助一些解释(逻辑,子步骤的一个非常简短的目标也许),将非常感激

我喜欢这里,因为我学到了很多东西(而不是直到下一个相同的情况才得到一个现成的解决scheme)

我使用下面的示例数据进行了研究。 (编辑:“手动计算Vals”列添加,以澄清什么是要求。实际上那列是我需要由Excel自动完成)

编辑2:“手动计算的Vals”列中出现错误。 感谢XORLX。 我纠正了它。

问候

 Level Value Parent/Child Manually Calculated Vals 0 parent 1815 1 parent 668 2 parent 110 3 19 child 3 91 child 2 parent 330 3 parent 200 4 40 child 4 79 child 4 81 child 3 60 child 3 42 child 3 28 child 2 3 child 2 35 child 2 parent 137 3 parent 113 4 46 child 4 67 child 3 24 child 2 53 child 1 parent 1147 2 parent 195 3 96 child 3 99 child 2 parent 325 3 parent 142 4 59 child 4 83 child 3 40 child 3 79 child 3 64 child 2 parent 240 3 parent 151 4 80 child 4 71 child 3 89 child 2 parent 157 3 57 child 3 100 child 2 parent 169 3 91 child 3 20 child 3 58 child 2 61 child 

假设你的表格在A1:C46(第一行中有标题),把这个数组公式放在D2中:

 =IF(C2="child","",SUM(B3:INDEX(B3:B$46,LOOKUP(10^10,MATCH({6,1},SEARCH("T",(A3:A$46<=A2)&"T"),0))-1))) 

根据需要复制。

问候

**数组公式不是以与“标准”公式相同的方式input的。 按住CTRL键和SHIFT键,而不是按下ENTER键,然后按ENTER键。 如果你做得对,你会注意到Excel在公式周围放置了大括号(尽pipe不要试图自己手动插入这些)。