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

如何在Excel中基于逗号分隔的ID查找列表实现对应数值求和

无需拆分ID列的跨表求和方案

适用Excel 365 / 2021及以上版本

直接使用动态数组公式,一步完成匹配、拆分、求和全流程,适配文本类型ID:

=SUM(SUMIF(Sheet1!A:A, TEXTSPLIT(XLOOKUP(B1,Sheet2!A:A,Sheet2!B:B),","), Sheet1!B:B))

逻辑说明:

  • 先用XLOOKUP匹配报表B1选中的团队名称,从Sheet2返回该团队对应的逗号分隔ID串
  • 用TEXTSPLIT按逗号把ID串拆分为单个ID的数组
  • SUMIF批量匹配每个ID对应的Sheet1数值,最后外层SUM汇总所有ID的数值总和

如果ID前后可能存在多余空格,可加TRIM处理:

=SUM(SUMIF(Sheet1!A:A, TRIM(TEXTSPLIT(XLOOKUP(B1,Sheet2!A:A,Sheet2!B:B),",")), Sheet1!B:B))

适用Excel 2019及更早版本

没有动态数组函数的情况下,用XML解析方式实现相同效果:

=SUMPRODUCT(SUMIF(Sheet1!A:A, FILTERXML("<t><s>"&SUBSTITUTE(VLOOKUP(B1,Sheet2!A:B,2,0),",","</s><s>")&"</s></t>","//s"), Sheet1!B:B))

逻辑说明:

  • 先用VLOOKUP匹配拿到对应团队的ID串
  • SUBSTITUTE把逗号替换为XML标签,通过FILTERXML解析出所有单个ID
  • SUMPRODUCT配合SUMIF完成多ID的数值汇总

同样如果有空格问题可加TRIM处理:

=SUMPRODUCT(SUMIF(Sheet1!A:A, TRIM(FILTERXML("<t><s>"&SUBSTITUTE(VLOOKUP(B1,Sheet2!A:B,2,0),",","</s><s>")&"</s></t>","//s")), Sheet1!B:B))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:06:01