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

Excel两列零件编号匹配问题:提取唯一值及关联匹配项

解决两列零件编号的唯一值匹配问题

核心需求拆解

  • 从两列零件编号中提取所有唯一值(已实现)
  • 为每个唯一值关联所有匹配项(含传递匹配:若A=B、B=C,则A、B、C互为匹配项)

实现全部匹配项的公式方案

假设零件编号在A列和B列,唯一值在D列(从D2开始),可在E2单元格输入以下公式,下拉+右拉填充即可:

=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(TOCOL(A:B, TRUE), XMATCH(TOCOL(A:B, TRUE), FILTER(TOCOL(A:B, TRUE), TOCOL(A:B, TRUE)=D2))<>0)))

公式说明

  • TOCOL(A:B, TRUE):将A、B两列合并为一列,自动忽略空单元格
  • FILTER(TOCOL(A:B, TRUE), TOCOL(A:B, TRUE)=D2):筛选出与当前唯一值直接匹配的项
  • XMATCH(...)<>0:利用匹配关系的传递性,筛选出所有同组关联项
  • UNIQUE():去除重复的匹配项
  • TEXTJOIN():将所有匹配项用逗号分隔,整理为易读格式

若你的Excel版本支持LET()函数,可使用更简洁的版本提升可读性:

=LET(
    allParts, TOCOL(A:B, TRUE),
    directMatches, FILTER(allParts, allParts=D2),
    allMatches, UNIQUE(FILTER(allParts, XMATCH(allParts, directMatches)<>0)),
    TEXTJOIN(", ", TRUE, allMatches)
)

注意事项

  • 若零件编号存在多余空格,会导致匹配失败,可先添加TRIM()处理:TOCOL(TRIM(A:B), TRUE)
  • 若匹配项数量较多,可将TEXTJOIN的分隔符换为换行符CHAR(10),记得开启单元格自动换行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 15:46:02