전체 단어만 찾기 및 일치 해결 방법

전체 단어만 찾기 및 일치 해결 방법

방금 알아차린 바에 따르면 Excel 찾기에는 "전체 단어만 일치"하는 옵션이 없습니다("전체 셀 내용 일치"에 대해 말하는 것이 아닙니다). 예를 들어 "부분"을 검색하면 "파트너"와 일치하지 않아야 합니다. MS Word에는 이 옵션이 있습니다(MS Word의 스크린샷 확인).

Excel에서 이에 대한 해결 방법이 있나요?

단어 - '전체 단어만 찾기' 예

답변1

Scott이 지적했듯이 내 원래 대답은 잘못되었습니다.

단어 경계를 정의할 수 있는 방법이 다양하기 때문에 포럼으로는 이를 정의하기가 어렵습니다. 그래서 \b정규식에 (단어 경계)가 존재하는 것 같아요. Excel의 찾기/바꾸기 대화 상자에서 사용할 수만 있다면 말이죠.

이 Excel 추가 기능을 설치하세요.http://www.codedawn.com/excel-add-ins.php새로 만들기를 클릭하세요RegEx 찾기 및 바꾸기버튼(또는 2003년의 메뉴 옵션)을 클릭하고 이 검색어를 사용하고 \bword\b대소문자 일치를 선택 취소하고 찾기를 누르세요.

b가 소문자인 것이 중요하며 정규식에 대해 조금 배워야 합니다(권장).이 장소) 구두점과 관련된 항목을 검색하고 싶은 경우 태그 사이에 표준 문자/숫자를 넣어도 괜찮습니다 \b.

나는 이 테스트를 통해 대부분의 사례를 다루었다고 생각합니다. 테스트 이미지

답변2

공식적으로 이 공식을 사용하여 "Word"(대소문자 구분 안 함)를 검색하면 구두점이 없다고 가정하고 정확한 단어에 대해서만 TRUE를 얻을 수 있습니다.

=ISNUMBER(SEARCH(" Word "," "&A1&" "))

그러면 다음과 같은 텍스트에 대해 TRUE가 반환됩니다.

현명한 사람에게 한 마디 또는그리스라는 단어는

그리고 정확하게 FALSE다모클레스의 검.....그러나 다음과 같은 경우에도 FALSE를 얻게 됩니다.

내 글!느낌표가 일치를 무효화하기 때문에

구두점을 처리하려면 여러 SUBSTITUTE 기능을 사용할 수 있습니다. 예를 들어 쉼표, 세미콜론 및 느낌표를 무시하려면 이 버전을 사용할 수 있습니다.

=ISNUMBER(SEARCH(" Word "," "&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,",",""),";",""),"!","")&" "))

답변3

"찾기" 섹션에 매개변수를 입력할 때 단어 앞이나 뒤에 공백을 포함시키면 됩니다. 내 경우에는 "Van"이 "SAVANA"의 변화를 막았고, "Man"은 "Mankind"의 변화를 막았습니다.

답변4

나는 그 문제에 대한 해결책을 찾았습니다.

표준 검색을 수행하고 1개의 결과를 찾은 후 호출할 함수를 만들어야 합니다.

이 함수는 단어가 전체인지 메모인지 확인합니다. 함수의 코드는 다음과 같습니다.

발견된 표현식 전후의 문자를 확인하고 문자가 아닌 경우(악센트 표시 여부) true를 반환하고, 그렇지 않으면 false를 반환합니다.

Function WholeWord(ByVal text As String, ByVal expression As String) As Boolean

Dim aux1 As Integer: aux1 = 0
Dim aux2 As Integer: aux2 = 0


Dim condition1 As Boolean: condition1 = False
Dim condition2 As Boolean: condition2 = False

aux1 = InStr(1, text, expression, vbTextCompare)

If aux1 = 1 Then
condition1 = True
Else
If UCase(Mid(text, aux1 - 1, 1)) Like "[!A-ZÂÊÎÔÛÁÉÍÓÚÇÃÕÀÈÌÒÙÄËÏÖÜ]" Then
condition1 = True
End If
End If

aux2 = aux1 + Len(expression)

If aux2 = Len(text) + 1 Then
condition2 = True
Else
If UCase(Mid(text, aux2, 1)) Like "[!A-ZÂÊÎÔÛÁÉÍÓÚÇÃÕÀÈÌÒÙÄËÏÖÜ]" Then
condition2 = True
End If
End If

If condition1 = True And condition2 = True Then
WholeWord = True
Else
WholeWord = False
End If

End Function

관련 정보