콘텐츠로 건너뛰기

엑셀 문자열 찾기 함수 FIND, SEARCH 차이

    엑셀팁 - FIND, SEARCH 차이점

    엑셀에서 셀에 있는 문자열에서 원하는 문자열을 찾기 위해서는 FIND와 SEARCH 함수를 사용해야 한다. 2개 함수의 사용법은 동일하나 작동방식에 몇가지 차이가 있다. 엑셀의 FIND, SEARCH 함수의 차이가 무엇인지 간단히 알아보도록 하자.

    엑셀의 FIND와 SEARCH 함수의 사용법은 아래 그림과 같이 동일하다. 두 함수 모두 전체 문자열에서 검색어를 찾아서 검색한 문자열이 몇번째 자리에 있는지를 알려준다.

    전체 문자열 위치에 셀참조 번호를 넣어주면 해당 셀에서 원하는 검색어가 있는지를 찾아서 어느 위치에 있는지를 알 수 있다.

    FIND 함수

    엑셀 FIND 함수 사용법

    SEARCH 함수

    엑셀 SEARCH 함수 사용법

    FIND 함수와 SEARCH 함수의 구문은 아래와 같이 동일하다.

    FIND (검색어, 문자열, 시작번호)
    SEARCH (검색어, 문자열, 시작번호)

    인자필수설명
    검색어필수찾으려는 텍스트
    문자열필수검색하려는 텍스트가 포함된 대상 문자열
    시작번호선택검색을 시작할 자릿수
    첫번째 자리는 1부터 시작
    (생략하면 1)

    FIND, SEARCH 함수의 사용법이 똑같은데 왜 복잡하게 엑셀에서는 2개 함수를 만들었는지를 차이점을 통해 알아보자.

    2개 함수의 차이는 동작방식에서 약간의 차이가 있다. 차이점을 한마디로 얘기하면 유연성의 차이다.

    FIND는 무조건 정확히 일치하는 것을 찾는다. 조금이라도 다르면 안된다. 하지만 SEARCH는 FIND보다 검색어 일치에 조금 더 유연성을 가지고 찾을 수 있다. 검색어와 조금 다르더라도 허용할 수 있는 것이다.

    유연성의 차이

    FIND < SEARCH

    동작방식에서의 2가지가 유연성의 차이점을 만들어 낸다. 바로 대/소문자 구분와일드카드 문자 허용여부 이다.

    대/소문자 구분

    검색어를 찾을때 대/소문자를 구분할지의 여부이다. 대/소문자가 다르더라도 같은 글자로 취급할지 아니면 대/소문자까지 정확히 일치해야만 일치하다고 판단할지에 따라 사용해야할 함수가 달라진다.

    FIND : 대소문자 구분
    SEARCH : 대소문자 구분 안함

    FIND 함수는 대/소문자를 구분한다. 따라서 “aaa” 와 “AAA”는 다른 글자이다.

    예를 들어 “Excel 함수” 라는 문자열에서 “excel” 을 검색하면 찾을 수가 없다. “Excel” 과 “excel” 은 앞에 E와 e 에서 대/소문자가 다르기 때문에 다른 글자이다. 그래서 FIND 함수에서는 찾을 수 없게 된다. 아래의 예제를 보면 알 수 있다.

    엑셀 FIND 함수 - 대소문자 구분

    SEARCH 함수는 대/소문자 구분을 하지 않는다. “aaa” 와 “AAA” 는 같은 글자로 취급한다. 대소문자가 달라도 같은 글자로 취급하기 때문에 FIND에 비해 유연성이 있는 것이다.

    예를 들어 “Excel 함수” 라는 문자열에서 “excel” 을 검색해도 대/소문자가 다른 “Excel” 이 일치하다고 판단한다. 아래의 예제를 참고하자.

    엑셀 SEARCH 함수 - 대소문자 구분안함

    와일드카드 문자

    FIND와 SEARCH 함수의 또 다른 차이점은 바로 와일드카드 문자 사용 여부이다. 결론부터 말하면 FIND 함수는 와일드카드 문자를 사용 불가능하고, SEARCH 함수는 와일드카드 문자를 사용할 수 있다. 그래서 SEARCH 함수는 비슷하게(?) 생긴 문자열을 검색할 수 있다.

    FIND : 와일드카드 문자 사용 불가능
    SEARCH : 와일드카드 문자 사용 가능

    와일드카드 문자를 먼저 간단히 알아보자. 와일드카드 문자는 ?(물음표), *(별표) 2가지가 있고, 검색어의 원하는 위치에 끼워넣을 수 있다. 각각의 의미는 아래와 같다.

    와일드카드 문자설명
    ? (물음표)아무글자나 1개의 글자가 ? 위치에 있음을 의미한다.
    * (별표)아무글자나 여러개의 글자가 * 위치에 있을 수 있음을 의미한다.
    0개 이상의 어떠한 문자열이 있을 수 있다는 것이고, 아무 글자도 없어도 된다.

    아래 2개의 와일드카드 문자열 예제를 보면 이해가 더 쉬울 것이다.

    예제설명
    e?cel?표 자리에 공백 포함하여 어떤 글자든 1글자가 올 수 있으므로, 아래의 샘플이 모두 포함된다.
    ex) excel, eecel, eAcel, e1cel, e cel, e엑cel
    E*LE와 L 사이에 0개 이상의 문자열이 올 수 있으므로, 아래의 샘플이 모두 포함된다.
    ex) EXCEL, EXL, EL, EAAAAAAL, E12L, E엑셀L, E L

    아래와 같이 SEARCH 함수에 *(별표) 문자를 사용하여 원하는 조건의 문자열을 검색할 수 있다. 아래 예제는 E와 EL사이에 0개 이상의 문자열이 들어있는 텍스트를 검색한다. SEARCH 함수는 대소문자 구분을 하지 않으므로 Excel이 “E*EL” 조건에 해당한다.

    정리

    엑셀의 FIND 함수와 SEARCH 함수의 차이점을 정리하면 아래 표와 같이 정리할 수 있다.

    특징FIND 함수SEARCH 함수
    대/소문자 구분구분구분 안함
    와일드카드 문자불가능가능

    기억하기 어렵다면 FIND 함수는 유연성 없이 무조건 똑같이 일치해야만 하고, SEARCH 함수는 유연성 있게 비슷하게(?) 생긴 글자도 검색할 수 있다고 기억하면 쉽다.

    FIND 함수와 SEARCH 함수의 더 자세한 예제를 보고 싶다면 아래 글을 참고하자.

    엑셀 함수 – FIND (문자열 검색)

    엑셀 함수 – SEARCH (문자열 검색)

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다