Encontre a parte da string que distingue uma string em uma célula de uma string em outra célula

1

Eu tenho duas colunas com strings e quero saber quais partes da string de uma coluna tem com a outra coluna. Eu verifiquei esta solução Compare 2 células de texto e mostre a diferença na terceira célula | Super User mas não funciona para o meu problema.

Na captura de tela abaixo, desejo que a coluna de resultados tenha a string Elementary , pois é isso que diferencia B2 de A2 . Eu tentei usar =SUBSTITUTE(A2,B2,"") com base na solução no link acima, mas o que a fórmula faz é o oposto, exibindo as sequências comuns nas duas colunas:

Como posso mostrar a diferença da string ( Elementary )?

    
por JAT86 19.08.2018 / 15:08

1 resposta

3

Como posso mostrar a diferença de string (Elementary)?

Here's a custom function called WORDDIF that may do what you want.

To install the custom function...

  • Alt+F11 to open the VBA Editor
  • From the VBA menu, select Insert > Module
  • Paste the code below in the VBA Edit window

Back in Excel, put this formula in C1

=WORDDIF(A1,B1)

Code:

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

Fonte link

    
por 19.08.2018 / 15:14