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

如何用公式实现子SKU与父SKU的部分匹配并批量输出多匹配结果

搞定SKU部分匹配,返回逗号分隔结果

嘿,针对你8500行父/子SKU的匹配需求,我给你整理了不同Excel版本的可行方案,直接套用就行:


一、Excel 365/2021 版本(最省心)

这个版本支持动态数组函数,一步就能出结果,不用折腾复杂操作:

两种匹配方向的公式

假设数据从第2行开始(第1行是表头):

  1. 找「父SKU包含子SKU」的匹配项:
    在C2单元格敲下面的公式,然后下拉填充整个C列:
=TEXTJOIN(", ", TRUE, FILTER($A$2:$A$8501, ISNUMBER(SEARCH(B2, $A$2:$A$8501)), ""))
  1. 找「子SKU包含父SKU」的匹配项:
    把搜索的顺序反过来就行:
=TEXTJOIN(", ", TRUE, FILTER($A$2:$A$8501, ISNUMBER(SEARCH($A$2:$A$8501, B2)), ""))

简单解释下公式各部分

  • SEARCH(要找的内容, 查找范围):不区分大小写检查部分匹配,找到就返回位置,找不到返回错误;要区分大小写的话换成FIND就行。
  • ISNUMBER(...):把上面的结果转成“是/否”的布尔值,方便筛选。
  • FILTER(父SKU范围, 筛选条件, 没匹配到返回空):挑出符合条件的父SKU。
  • TEXTJOIN("分隔符", 忽略空值, 要连接的内容):把筛选出来的父SKU用逗号加空格连起来,自动跳过空值。

二、旧版Excel(2019及更早)

如果你的Excel没有动态数组功能,那就用下面两种方案:

方案1:数组公式+TEXTJOIN(如果有TEXTJOIN的话)

在C2单元格输入公式,然后必须按Ctrl+Shift+Enter触发数组公式,再下拉填充:

=TEXTJOIN(", ", TRUE, IF(ISNUMBER(SEARCH(B2, $A$2:$A$8501)), $A$2:$A$8501, ""))

(匹配方向调整同样是调换SEARCH里的两个参数)

方案2:VBA自定义函数(万能解法)

要是连TEXTJOIN都没有,写个小函数最靠谱:

  1. 按Alt+F11打开VBA编辑器,右键左侧的工程窗口→插入→模块。
  2. 把下面的代码粘贴进去:
Function MatchSKU(childSKU As String, parentRange As Range, matchDirection As Integer) As String
    Dim cell As Range
    Dim result As String
    result = ""
    
    ' 参数说明:matchDirection=1 父SKU包含子SKU;matchDirection=2 子SKU包含父SKU
    For Each cell In parentRange
        If matchDirection = 1 Then
            If InStr(1, cell.Value, childSKU, vbTextCompare) > 0 Then
                result = result & cell.Value & ", "
            End If
        ElseIf matchDirection = 2 Then
            If InStr(1, childSKU, cell.Value, vbTextCompare) > 0 Then
                result = result & cell.Value & ", "
            End If
        End If
    Next cell
    
    ' 去掉最后多余的逗号和空格
    If Len(result) > 0 Then
        MatchSKU = Left(result, Len(result) - 2)
    Else
        MatchSKU = ""
    End If
End Function
  1. 回到Excel,在C2单元格输入:
=MatchSKU(B2, $A$2:$A$8501, 1)
  • 第三个参数1对应父包含子,换成2就是子包含父,下拉填充就搞定了。

小提醒

因为数据量有8500行,公式计算可能会有点卡,建议先把Excel改成手动计算(文件→选项→公式→手动计算),写完公式后按F9刷新结果就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:35:39