Tenho duas colunas com strings e quero saber quais partes da string de uma coluna tem com a outra coluna. Eu verifiquei esta soluçãoCompare 2 células de texto e mostre a diferença na terceira célula | Superusuáriomas não funciona para o meu problema.
Na captura de tela abaixo, quero que a coluna de resultado tenha a string, Elementary
pois é isso que o diferencia B2
de A2
. Tentei usar =SUBSTITUTE(A2,B2,"")
com base na solução do link acima, mas o que a fórmula faz é fazer o contrário exibindo as strings comuns nas duas colunas:
Como posso exibir a diferença de string ( Elementary
)?
Responder1
Como posso exibir a diferença de string (Elementar)?
Aqui está uma função personalizada chamada
WORDDIF
que pode fazer o que você quiser.Para instalar a função personalizada...
- Alt+F11 para abrir o Editor VBA
- No menu VBA, selecione Inserir > Módulo
- Cole o código abaixo na janela de edição do VBA
De volta ao Excel, coloque esta fórmula em C1
=WORDDIF(A1,B1)
Código:
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
Fontehttps://www.mrexcel.com/forum/excel-questions/486708-compare-two-strings-find-difference.html