对子单元格求和并分配给层次结构中的父单元格

Summing the cells of children and assigning to the parent cell in a hierarchy

我有一个包含几千行的数据,父子层级从 0 到 10,示例如下图所示

对我来说重要的层次结构级别是 3 到 10。对我来说,级别 3 是父级别,在此级别下是具有不同属性 [列 D] 和权重 [列 E] 的几个部分和子部分。我想根据 D 列中的 属性 类型添加 E 列中的权重,并将该值放入相应的父单元格中。

例如考虑上图中的范围 B10:E14,我想检查钢材的重量(必要时求和)并放入层次结构级别 3 的父行。

作为起点,我尝试添加一个新列,每个部分旁边都有父级,如下所示,并添加权重并放入父级字段。

是否可以提取每个部分旁边的父名称并使用 Excel 公式在每个层次结构级别 3 中添加权重?我正在使用 Microsoft 365。

这看起来更像是一个宏/VBA 作业。但是如果你真的想使用公式,那么 SUMIF 就是你所需要的。例如,将您的“基本想法”

放入单元格 F10
SUMIF(E11:E14;"steel";F11:F14)

从子部件中获取钢材的总重量。如果您将“钢”(或“木头”)放在另一个单元格中,比如 G1,那么您可以将公式更改为

SUMIF(E11:E14;$G;F11:F14)

因此更改单元格内容将更改所有总和

关于报parent名字,一个道理是:如果这一行是4+级,而上一行是3级parent,则显示它的名字;如果不是,则显示上一行中的 parent 的名称。所以例如在单元格 C11 中输入

IF(B11>3;IF(B10=3;D10;C10);"")

并将其复制到col C

中的所有单元格