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

带通配符的多条件SUMIF去重求和问题求助

解决方案

核心思路

要实现满足任意一个条件+去重ID求和,关键是先筛选出符合条件的唯一ID,再对这些ID对应的销售值(每个ID仅统计一次)求和,同时用通配符处理模糊匹配场景。


方案1:Excel 365/2021 动态数组公式

如果你的Excel支持动态数组(自带UNIQUE、FILTER函数),直接使用以下公式,新增行后会自动更新结果:

=SUM(XLOOKUP(UNIQUE(FILTER(A:A,(ISNUMBER(SEARCH("*萨博*",B:B))+ISNUMBER(SEARCH("*白色*",C:C))+ISNUMBER(SEARCH("*2022*",D:D))>0)),A:A,E:E,"",0,1))

公式拆解:

  • ISNUMBER(SEARCH("*萨博*",B:B)):用通配符模糊匹配车型列包含“萨博”的行,返回布尔值
  • 三个ISNUMBER(SEARCH(...))相加,结果>0即表示该行满足任意一个OR条件
  • FILTER(A:A, ...>0):筛选出所有符合条件的ID(含重复项)
  • UNIQUE(...):提取筛选结果中的唯一ID
  • XLOOKUP(...):为每个唯一ID匹配对应的销售值(仅取首次出现的数值,避免重复统计)
  • SUM(...):对去重后的销售值求和

方案2:兼容旧版Excel的公式

如果使用旧版Excel(无动态数组功能),可以用SUMPRODUCT结合MATCH实现去重求和:

=SUMPRODUCT(E:E*(ISNUMBER(SEARCH("*萨博*",B:B))+ISNUMBER(SEARCH("*白色*",C:C))+ISNUMBER(SEARCH("*2022*",D:D))>0)*(MATCH(A:A,A:A,0)=ROW(A:A)))

公式拆解:

  • (ISNUMBER(SEARCH(...))+...>0):判断该行是否满足任意一个OR条件
  • (MATCH(A:A,A:A,0)=ROW(A:A)):仅保留每个ID首次出现的行(重复ID的行此部分为0,不参与求和)
  • SUMPRODUCT(E:E*...*...):对同时满足“OR条件”和“首次出现ID”的销售值求和

注意事项

  • 替换公式中的列标:A列=ID,B列=车型,C列=颜色,D列=年份,E列=销售值,根据你的实际数据列调整
  • 通配符*可匹配任意字符,能覆盖单元格中包含目标文本的情况(如“萨博9-3”“白色金属漆”“2022款”均可匹配)
  • 旧版Excel方案建议将整列范围(如A:A)改为具体数据区域(如A2:A1000),避免计算空值影响结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:11:13