【问题标题】:Summing the cells of children and assigning to the parent cell in a hierarchy对子单元格求和并分配给层次结构中的父单元格
【发布时间】:2021-10-23 21:11:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: excel excel-formula parent-child hierarchy hierarchical-data


    【解决方案1】:

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

    SUMIF(E11:E14;"steel";F11:F14)
    

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

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

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

    至于上报父级名称,一个推理是:如果这一行是4+级,而上一行是3级父级,则显示其名称;如果不是,则显示上一行中父母的姓名。所以例如在单元格 C11 中放置

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

    并将其复制到col C中的所有单元格

    【讨论】:

    • 非常感谢!在这一点上,我将自己限制在 Excel 公式中,并且可能会进一步尝试使用 vba。你的公式现在非常有效:)
    • 您好,我正在使用 =FILTER(INDEX(...)) 公式在副本中打印父子层次结构并应用您的公式 IF(B11>3;IF(B10=3; D10;C10);"") 当然随着单元格索引的变化,但所有的父名称都打印为零。我发现问题是存储为文本的层次结构编号。当我将层次结构编号复制粘贴为“数字”时,它就可以工作了。我应该如何自动制作而不手动更改格式?
    • =NUMBERVALUE() 如果参数是一个表示数值的字符串(或者它已经是一个数字),则返回一个数字
    猜你喜欢
    • 2017-05-15
    • 2012-12-31
    • 1970-01-01
    • 2013-02-22
    • 2016-12-01
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2021-03-30
    相关资源
    最近更新 更多