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

Excel中用Sumif按Level1分组取首值按Department求和的实现方法

Excel 实现按部门统计唯一Level 1首次Size总和方案

适用场景说明

数据结构:列顺序为Row/Levels/Level 1/Size/Department,统计规则为同一部门下,每个Level 1分组仅累加首次出现的Size值。以下方案分不同Excel版本提供,海量数据优先选第二种方法。


方法1:Excel 365 / 2021 及以上版本(单公式完成)

假设你的数据存放在A1:E10000区域(A列=Row、B列=Levels、C列=Level 1、D列=Size、E列=Department),G列存储待统计的部门名称,H2单元格输入以下公式下拉即可:

=SUM(UNIQUE(FILTER($D$2:$D$10000,($E$2:$E$10000=G2)*(MATCH($C$2:$C$10000&$E$2:$E$10000,$C$2:$C$10000&$E$2:$E$10000,0)=ROW($C$2:$C$10000)-ROW($C$2)+1)),FALSE,TRUE))

公式逻辑:

  • MATCH部分判断当前行是否为「部门+Level 1」组合的首次出现行,返回TRUE/FALSE
  • FILTER筛选出目标部门下所有首次出现行的Size值
  • UNIQUE做二次去重避免误判,SUM直接求和得到结果

方法2:Excel 2019及更早版本(辅助列+透视表,适合海量数据)

该方法运算效率远高于数组公式,十万行以上数据优先使用:

  • 第一步:新增辅助列,F2单元格输入以下公式,按Ctrl+Shift+Enter触发数组运算后,下拉填充所有数据行
    =IF(MATCH(C2&E2,$C$2:$C$10000&$E$2:$E$10000,0)=ROW(A1),D2,0)
    
    逻辑:当前行是该部门下该Level 1的首次出现行时返回Size值,否则返回0
  • 第二步:插入数据透视表:
    • 行字段拖入「Department」
    • 值字段拖入新增的辅助列,汇总方式选择「求和」

生成的透视表结果即为各部门符合规则的Size总和,和你给出的示例计算结果完全匹配:Department 1总和为5.0,Department 2总和为12.0。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:27:02