You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 365中如何按属性汇总层级子项重量并赋值给3级父单元格

解决方案

前提约定

假设你的表格满足以下结构(可根据实际表结构调整列号):

  • 列B存储层级数值(0~10,对应0级到10级)
  • 列A存储零件/父级名称
  • 列D存储零件属性
  • 列E存储零件重量
  • 数据从第2行开始,第1行为表头

步骤1:提取每行对应的3级父级标识

新增F列,表头设为「对应3级父级」,在F2单元格输入如下公式,Microsoft 365支持自动溢出,无需手动下拉:
=XLOOKUP(3,SCAN(0,B$2:B2,LAMBDA(a,b,IF(b=3,b,a))),A$2:A2,,0,-1)
公式逻辑:从当前行向上遍历所有层级值,记录最近一次出现的3级层级对应的父级名称,自动匹配所有3~10级行对应的3级父级。

若你的层级是通过单元格缩进体现而非直接存储数值,可先新增辅助列转换层级数值,公式为=LEN(B2)-LEN(TRIM(B2))(每级层级对应1个缩进空格,若每级为n个空格则整体除以n即可)

步骤2:按属性汇总3级父级的总重量

可以按需在3级父行对应列填入汇总值,以下是两种常用场景:

场景1:单独统计某类属性(如钢材)的总重量

新增G列,表头设为「钢材总重」,在G2单元格输入公式后下拉即可:
=IF(B2=3,SUMIFS(E:E,F:F,A2,D:D,"钢材"),"")
公式逻辑:仅在3级层级的行显示汇总结果,统计属于当前3级父级、且属性为钢材的所有零件重量之和。

场景2:动态统计所有属性的总重量

先在首行G1、H1、I1...位置依次填入你需要统计的所有属性名称(如钢材、塑料、铝材等),在G2单元格输入如下公式后向右、向下填充即可:
=IF(B2=3,SUMIFS(E:E,F:F,A2,D:D,G$1),"")

补充说明

如果不需要保留辅助列,也可以将父级匹配逻辑合并到汇总公式中,不过新增辅助列的方案可读性更强,也方便后续核对数据。

内容的提问来源于stack exchange,提问作者Ushay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:51:01