Excel多物料ID成本求和:单单元格多ID的XLOOKUP求和实现
解决Excel单单元格多物料ID的成本求和问题(基于XLOOKUP)
直接用TEXTSPLIT + XLOOKUP + SUM的组合公式就能实现,无需拆分单元格:
=SUM(XLOOKUP(TEXTSPLIT(K12, ", "), Table1[Material ID], Table1[Material Cost], 0))
公式逻辑:
- TEXTSPLIT(K12, ", "):将K12内的多物料ID按指定分隔符(示例为逗号加空格)拆分成动态数组。比如K12内容是
MAT-001, MAT-002, MAT-003,拆分后得到{"MAT-001","MAT-002","MAT-003"} - XLOOKUP(...):对拆分后的每个ID,在
Table1[Material ID]中匹配对应Table1[Material Cost];第四个参数0表示匹配不到的ID按0计算(若要忽略无效ID,可换成NA(),再套IFERROR处理) - SUM:对所有匹配到的成本值求和
兼容旧版Excel(无TEXTSPLIT)的替代方案:
如果你的Excel版本不支持TEXTSPLIT,用FILTERXML替代拆分步骤:
=SUM(XLOOKUP(FILTERXML("<t><s>"&SUBSTITUTE(K12, ", ", "</s><s>")&"</s></t>", "//s"), Table1[Material ID], Table1[Material Cost], 0))
注意事项:
- 替换公式中的
", "为你实际使用的ID分隔符(比如空格、分号等) - 若需对匹配不到的ID报错,可将XLOOKUP的第四个参数改为
NA(),并使用SUM(IFERROR(...), 0)忽略错误值求和
内容的提问来源于stack exchange,提问作者yuyibruh
相关产品推荐
相关产品推荐

