문자열이 포함된 두 개의 열이 있고 한 열의 문자열 중 어느 부분이 다른 열과 함께 있는지 알고 싶습니다. 이 솔루션을 확인했습니다.2개의 텍스트 셀을 비교하고 세 번째 셀에 차이점 표시 | 슈퍼유저하지만 내 문제에는 작동하지 않습니다.
아래 스크린샷에서는 결과 열에 문자열이 포함되기를 원합니다 . Elementary
이것이 B2
. 위 링크의 솔루션을 기반으로 A2
사용해 보았지만 공식이 수행하는 작업은 두 열에 공통 문자열을 표시하여 반대 작업을 수행하는 것입니다.=SUBSTITUTE(A2,B2,"")
대신 문자열 차이( Elementary
)를 표시하도록 하려면 어떻게 해야 합니까?
답변1
대신 문자열 차이(초등)를 표시하도록 하려면 어떻게 해야 합니까?
WORDDIF
다음은 원하는 작업을 수행할 수 있는 사용자 정의 함수입니다 .사용자 정의 기능을 설치하려면...
- Alt+F11을 눌러 VBA 편집기 열기
- VBA 메뉴에서 삽입 > 모듈을 선택합니다.
- VBA 편집 창에 아래 코드를 붙여넣으세요.
Excel로 돌아가서 이 수식을 C1에 입력하세요.
=WORDDIF(A1,B1)
암호:
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
원천https://www.mrexcel.com/forum/excel-questions/486708-compare-two-strings-find-difference.html