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

Google Sheets/Excel公式误匹配相似ID的解决方法求助

解决方案

问题出在原公式使用*&I8&*的模糊匹配逻辑,会把包含T15作为子串的ID(如T150、T151)也纳入统计。要精准匹配完整ID,需利用ID之间的分隔符-,确保只匹配被-包裹的目标ID。

修改后的公式

=IFERROR(SUMPRODUCT(--(ISNUMBER(SEARCH("-"&I8&"-", "-"&DumpGeneral!A:A&"-"))), --(ISNUMBER(SEARCH("-"&A$6&"-", "-"&DumpGeneral!A:A&"-")))) / SUMPRODUCT(--(ISNUMBER(SEARCH("-"&A$6&"-", "-"&DumpGeneral!A:A&"-")))), 0)

原理说明

  1. 统一包裹分隔符:通过-"&DumpGeneral!A:A&"-"给每个单元格内容的首尾都添加-,确保所有ID(包括开头和结尾的ID)都被-完整包裹。例如原字符串M038-P9-G7-T34-T154-T223-T290-会变成-M038-P9-G7-T34-T154-T223-T290--,此时每个ID都以-ID-的形式存在。
  2. 精准匹配完整ID:使用SEARCH("-"&I8&"-", ...)查找被-包裹的目标ID,只会匹配-T15-这类完整ID,不会命中-T150-中的子串T15。
  3. SUMPRODUCT替代COUNTIFS:由于COUNTIFS无法直接对拼接后的字符串进行统计,用SUMPRODUCT结合ISNUMBER(SEARCH(...))实现多条件计数,同时覆盖首尾ID的匹配场景。

简化版(若ID仅出现在中间或结尾)

如果确认目标ID不会出现在字符串开头,可简化为COUNTIFS形式:

=IFERROR((COUNTIFS(DumpGeneral!A:A;"*-"&I8&"-*";DumpGeneral!A:A;"*"&A$6&"-*"))/(COUNTIFS(DumpGeneral!A:A;"*"&A$6&"-*"));0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:45:36