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

咨询Excel中提取两个单元格共同文本内容的实现方法

Excel提取两单元格共同文本的实现方法

完全可行,以下是针对不同Excel版本的解决方案:

适用于Excel 365/2021(支持动态数组)

在D1单元格输入以下公式,会自动提取所有共同的文本项:

=FILTER(TEXTSPLIT(A1," + "),ISNUMBER(XMATCH(TEXTSPLIT(A1," + "),TEXTSPLIT(B1," + "))))

公式说明:

  • TEXTSPLIT(A1," + "):将A1内容按+拆分,得到独立的国家列表
  • XMATCH:匹配A1拆分后的项在B1拆分列表中的位置,存在则返回数字,不存在返回错误值
  • ISNUMBER:筛选出匹配成功的项
  • FILTER:最终输出所有共同文本

如果只需要提取第一个共同项,使用这个公式:

=INDEX(TEXTSPLIT(A1," + "),XMATCH(TRUE,ISNUMBER(XMATCH(TEXTSPLIT(A1," + "),TEXTSPLIT(B1," + "))),0))

适用于旧版Excel(不支持动态数组)

使用以下数组公式(输入后按Ctrl+Shift+Enter确认):

=INDEX(MID(SUBSTITUTE(A1," + ",REPT(" ",LEN(A1))),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," + ",""))+1))*LEN(A1)-LEN(A1)+1,LEN(A1)),MATCH(TRUE,ISNUMBER(SEARCH(TRIM(MID(SUBSTITUTE(A1," + ",REPT(" ",LEN(A1))),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," + ",""))+1))*LEN(A1)-LEN(A1)+1,LEN(A1))),B1)),0)

公式说明:

  • 通过SUBSTITUTE和MID拆分A1内容,生成单个国家的文本项
  • 用SEARCH检查每个项是否在B1中存在
  • MATCH定位第一个匹配项的位置,INDEX提取对应内容

如果要提取多个共同项,旧版Excel可借助VBA实现:
按Alt+F11打开VBA编辑器,插入模块后粘贴以下代码:

Function GetCommonItems(rng1 As Range, rng2 As Range) As String
    Dim arr1 As Variant, arr2 As Variant
    Dim i As Integer, j As Integer
    Dim result As String
    
    arr1 = Split(rng1.Value, " + ")
    arr2 = Split(rng2.Value, " + ")
    
    For i = LBound(arr1) To UBound(arr1)
        For j = LBound(arr2) To UBound(arr2)
            If Trim(arr1(i)) = Trim(arr2(j)) Then
                If result <> "" Then result = result & " + "
                result = result & Trim(arr1(i))
            End If
        Next j
    Next i
    
    GetCommonItems = result
End Function

返回Excel后,在D1单元格输入=GetCommonItems(A1,B1)即可提取所有共同项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:20:34