查找字符串中的重复文本并将其删除

问题描述 投票:0回答:1

我有这个擅长的问题。我试图在2列之间找到匹配的文本,然后删除匹配的文本。范例

第1列:

John Romeo

第2列:

John Romeo 16 Smith Street

结果:

16 Smith Street 

结果列是我想要的文本。

excel match trim vlookup duplicate-data
1个回答
-1
投票

这是一个名为WORDDIF的自定义函数,可以执行您想要的操作。

要在Windows中安装自定义功能...Alt + F11打开VBA编辑器从VBA菜单中,选择插入->模块

要在OS X中安装自定义功能...转到工具->宏-> Visual Basic编辑器从VBA菜单中,选择插入->模块

在VBA编辑窗口中粘贴以下代码

返回Excel,将此公式复制到“结果”列中:

结果= WORDDIF(Column1Cell1,Column2Cell2)

Function WORDDIF(rngA As Range, rngB As Range) As String

Dim WordsA As Variant, WordsB As Variant
Dim ndxA As Long, ndxB As Long, strTemp As String

WordsA = Split(rngA.Text, " ")
WordsB = Split(rngB.Text, " ")

For ndxB = LBound(WordsB) To UBound(WordsB)
    For ndxA = LBound(WordsA) To UBound(WordsA)
        If StrComp(WordsA(ndxA), WordsB(ndxB), vbTextCompare) = 0 Then
            WordsA(ndxA) = vbNullString
            Exit For
        End If
    Next ndxA
Next ndxB

For ndxA = LBound(WordsA) To UBound(WordsA)
    If WordsA(ndxA) <> vbNullString Then strTemp = strTemp & WordsA(ndxA) & " "
Next ndxA

WORDDIF = Trim(strTemp)

End Function

归因,解决方案来自http://www.mrexcel.com/forum/excel-questions/486708-compare-two-strings-find-difference.html


-1
投票

这是一个名为WORDDIF的自定义函数,可以执行您想要的操作。

要在Windows中安装自定义功能...Alt + F11打开VBA编辑器从VBA菜单中,选择插入->模块

要在OS X中安装自定义功能...转到工具->宏-> Visual Basic编辑器从VBA菜单中,选择插入->模块

在VBA编辑窗口中粘贴以下代码

返回Excel,将此公式复制到“结果”列中:

结果= WORDDIF(Column1Cell1,Column2Cell2)

Function WORDDIF(rngA As Range, rngB As Range) As String

Dim WordsA As Variant, WordsB As Variant
Dim ndxA As Long, ndxB As Long, strTemp As String

WordsA = Split(rngA.Text, " ")
WordsB = Split(rngB.Text, " ")

For ndxB = LBound(WordsB) To UBound(WordsB)
    For ndxA = LBound(WordsA) To UBound(WordsA)
        If StrComp(WordsA(ndxA), WordsB(ndxB), vbTextCompare) = 0 Then
            WordsA(ndxA) = vbNullString
            Exit For
        End If
    Next ndxA
Next ndxB

For ndxA = LBound(WordsA) To UBound(WordsA)
    If WordsA(ndxA) <> vbNullString Then strTemp = strTemp & WordsA(ndxA) & " "
Next ndxA

WORDDIF = Trim(strTemp)

End Function

归因,解决方案来自http://www.mrexcel.com/forum/excel-questions/486708-compare-two-strings-find-difference.html

© www.soinside.com 2019 - 2024. All rights reserved.