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

Excel中判断Name为当前行名称子集时用SUMIF求和的实现方法

Excel 层级前缀匹配求和解决方案

假设你的表格结构如下,表头在第1行,数据范围为A2:B5,C列存放计算结果:

NameValue期望结果
X11
X-Y12
X-Y-Z02
X-V12

公式实现

全版本兼容方案(支持Excel 2007及以上)

在C2单元格输入以下公式,下拉填充即可:
=SUMPRODUCT(--ISNUMBER(SEARCH("-"&$A$2:$A$5&"-", "-"&A2&"-")), $B$2:$B$5)

Excel 365/2021 简化方案

在C2单元格输入以下公式,下拉填充即可:
=SUM(FILTER($B$2:$B$5, ISNUMBER(SEARCH("-"&$A$2:$A$5&"-", "-"&A2&"-"))))

逻辑说明

  1. 核心匹配逻辑通过给所有Name前后拼接分隔符-实现精准前缀匹配,避免短名称和长名称非分隔符位置的字符重名导致误判(比如避免XA被误识别为X的子集)
  2. SEARCH函数判断每个处理后的Name是否是当前行处理后Name的子串,是则返回位置编号,否则返回错误
  3. 通过ISNUMBER将匹配结果转为布尔值,再转为1/0后和对应Value相乘求和,得到所有符合条件的Value汇总值

注意事项

  • 如果你的层级分隔符不是-,把公式里所有的-替换为你实际使用的分隔符(比如/、_等)即可
  • 公式里的$A$2:$A$5、$B$2:$B$5是绝对引用,要根据你实际的数据范围调整,下拉时不要去掉$符号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:18:06