본문 바로가기

업무 프로그램/MS 엑셀

엑셀 띄어쓰기 무시하고 텍스트 찾기(검색)하기, 필터 검색 여러 개 하기

목차

     

    엑셀에서 띄어쓰기를 무시하고 검색하기 위해서는 와일드카드 문자를 사용하거나 문자열을 조작하여 원하는 문자열로 만든 후 검색가능하도록 하는 방법이 있습니다. 즉, 문자열을 다루는 함수에 익숙하다면 문자열에서 공백이 없도록 하여 검색을 할 수 있을 것입니다.

     

    엑셀 띄어쓰기 무시하고 텍스트 찾기(검색)하기
    엑셀 띄어쓰기 무시하고 텍스트 찾기(검색)하기

     

    예를 들어 "돌팔이 약장수", "돌팔이약장수"라는 문자열이 뒤섞여 있는 상태에서 둘 다 한 번에 검색하고 싶다면 "돌팔이 약장수"를 "돌팔이약장수"로 만든 후 검색하면 됩니다. 아니면 검색 시 와일드카드 문자를 사용할 수 있습니다. 와일드카드는 가장 간단할 뿐만 아니라 필터링 검색식에도 활용할 수 있습니다.

     


    1. 검색을 위해 텍스트를 수정하기

    문자가 아닌 띄어쓰기만 문제라면 찾기 및 바꾸기로 공백을 없애면 한 번에 검색할 수 있습니다.

     

    검색을 위해 텍스트를 수정하기
    검색을 위해 텍스트를 수정하기

     

    A열에 있는 문자열을 모두 검색하고 싶다면 일반적으로 "돌팔이약장수", "돌팔이 약장수","돌팔이  약장수" 등등 모든 경우의 수를 전부 검색해야 합니다. 하지만 공백만 없다면 한 한 번에 검색할 수 있다는 점을 이용하여 공백을 없애고 검색을 해보겠습니다.

     

    1. [Ctrl+H]를 입력하여 바꾸기창을 실행합니다.

    2. 찾을 내용에 ' '(공백 한 칸)을 입력하고 바꿀 내용에 아무것도 입력하지 않습니다.

    3. [모두 바꾸기]를 클릭합니다.

     

    검색을 위해 텍스트를 수정하기-완성
    검색을 위해 텍스트를 수정하기-완성

     

    이렇게 한다면 "돌팔이약장수"라고만 검색해도 모든 돌팔이약장수가 있는 셀을 검색 가능 합니다. 하지만 원본 데이터가 변경되는 단점이 있습니다. A열 원본은 그대로 두고 B열에 변경된 데이터가 입력되어 있다면 데이터를 변경하지 않고도 검색이 가능할 것 같습니다.

     


    2. 검색하고자 하는 텍스트 포함 여부 확인

    B열에 검색을 위한 함수를 작성하기 위해 SUBSTITUTE함수를 이용할 것입니다. 함수의 사용 방법은 아래 포스팅을 참고해 주시기 바랍니다.

     

    엑셀 문자열을 자르거나 변경하는 함수

    사실 엑셀에서 문자열을 변경하는 함수 중에 가장 많이 사용하는 함수는 TRIM입니다. 하지만 TRIM은 지난 포스팅에서 다루어 봤기 때문에 TRIM을 제외한 문자열을 다루는 함수를 알아보겠습니다. TR

    dolpali.tistory.com

     

    [1. 검색을 위해 텍스트를 수정하기]에서 알아봤던 방법이 원본 데이터를 변경시킨다는 점이 걸린다면 B2열에 검색하고자 하는 텍스트가 포함되었는지 판별할 수 있는 함수를 작성하여 일치 여부를 알아볼 수 있습니다.

     

    검색하고자 하는 텍스트 포함 여부 확인
    검색하고자 하는 텍스트 포함 여부 확인

     

    =IF(SUBSTITUTE(A2," ","")="돌팔이약장수","일치","불일치")

    A열의 내용에서 공백을 제외하고 검색하고자 하는 "돌팔이약장수"와 일치하는지 여부를 확인하는 함수입니다. B2열에 입력 후 채우기 핸들을 드래그하여 B6까지 채우면 자동작성됩니다. 이 방법은 [1. 검색을 위해 텍스트를 수정하기]에 비해 원본 데이터를 훼손하지 않는다는 장점이 있지만 여전히 불편합니다. 검색창에서 바로 공백을 제외할 수 있는 방법은 없을까요? 

     


    3. 검색에서 와일드카드 문자 사용하기

     

     

    와일드카드 문자는 컴퓨터에서 미지의 글자를 표현하는 것으로 수학에서 사용하는 x와 비슷하다고 할 수 있습니다. 엑셀에서 사용 가능한 와일드카드 문자는 2가지인데 ?와 *가 있습니다. ?는 뭔지 모르지만 한 글자, *는 자릿수는 상관없는 모든 문자를 나타냅니다. 설명으로 하면 어려우니 예시를 들어보겠습니다.

     

    검색에서 와일드카드 문자 사용하기-예시
    검색에서 와일드카드 문자 사용하기-예시

     

    위와 같은 데이터가 있고 "돌팔이는약장수"라는 텍스트도 "돌팔이약장수"라는 텍스트를 포함하고 있으니 검색하고 싶다고 가정하겠습니다. 이 경우 위에서 예를 들었던 두 가지 방법으로는 "돌팔이는약장수"를 검색할 수 없습니다. 공백을 제거하더라도 "돌팔이는약장수"가 되지 않기 때문입니다. 이런 문제를 해결하기 위해 와일드카드 문자를 사용하여 검색해 보겠습니다.

     

    검색에서 와일드카드 문자 사용하기
    검색에서 와일드카드 문자 사용하기

     

    "돌팔이약장수"를 포함하는 문자열을 검색하기 위해서 와일드카드를 사용한 모습입니다.

    1번은 "돌팔이?약장수", 2번은 "돌팔이*약장수"로 검색한 모습입니다. 둘 다 검색은 됐지만 결과가 다릅니다. ?은 무조건 한 글자가 있어야 하므로 공백이 두 개 있는 "돌팔이  약장수"가 검색 안된 것은 물론 공백이 없는 "돌팔이약장수"도 검색이 되지 않습니다. 하지만 "돌팔이*약장수"로 검색하면 "돌팔이약장수"가 들어간 모든 텍스트가 검색되는 것을 볼 수 있습니다. 즉 아래 표와 같이 검색 결과가 나옵니다.

     

    검색에서 와일드카드 문자 사용하기-검색결과표
    검색에서 와일드카드 문자 사용하기-검색결과표

     

    글자수가 명확하지 않은 경우 *를 쓰는 것이 좋지만 몇 글자가 있던 무시하고 찾아주기 때문에 아래와 같이 될 수도 있습니다.

     

    검색에서 와일드카드 문자 사용하기-검색결과표 추가
    검색에서 와일드카드 문자 사용하기-검색결과표 추가

     

    그런데 만약 찾고 싶은 문자가 물음표(?)이거나 별표(*)라면 물결표(~)를 앞에 붙여주면 물결표 뒤에 있는 문자는 와일드카드 문자로 인식하지 않고 입력된 문자 그대로 인식합니다. 이러한 내용과 위에서 설명한 별표를 합치면 물음표로 끝나는 텍스트도 검색할 수 있습니다.

     

    검색에서 와일드카드 문자 사용하기-물음표 검색
    검색에서 와일드카드 문자 사용하기-물음표 검색

     

    [*~?]은 물음표로 끝나는 모든 문자열을 뜻합니다. 유사하게 [돌팔이*]는 돌팔이로 시작하는 모든 문자열이 됩니다. 와일드카드 문자를 처음사용해 보신다면 생소하고 적응이 안 될 수 있겠지만 익숙해진다면 검색에서 아주 유용하게 사용하실 수 있을 것입니다. 또한 이러한 검색식은 필터에서도 유용하게 사용할 수 있습니다.

     


    4. 필터 검색에서 와일드카드 사용하기

    필터 검색에서 와일드카드 사용하기-예시
    필터 검색에서 와일드카드 사용하기-예시

     

    50이 포함되는 데이터를 필터링하고 싶은 경우 와일드카드 검색을 사용하지 않으면 하나씩 체크박스에서 선택해주어야 합니다.

     

    필터 검색에서 와일드카드 사용하기-불편한 예시
    필터 검색에서 와일드카드 사용하기-불편한 예시

     

    데이터가 많거나 자주 해야 하는 작업이라면 너무 귀찮을 수밖에 없습니다. 이런 경우 와일드카드 문자를 이용하여 간단히 해결해 보겠습니다.

     

     

    필터 검색에서 와일드카드 사용하기
    필터 검색에서 와일드카드 사용하기

     

    1. 필터 드롭다운 버튼을 클릭합니다.

    2. 검색에 [*50]을 입력합니다.

    3. [확인] 버튼을 클릭합니다.

     

    이렇게 하면 아주 간단히 백의 자리에 상관없이 50으로 끝나는 데이터만 필터링하여 볼 수 있습니다.