엑셀 다루기

[엑셀 함수] SEARCH 함수를 사용한 특정 문자 찾기

남익 2018. 1. 18. 00:26
반응형

SEARCH 함수를 사용한 특정 문자 찾기


FIND 함수처럼 찾기 함수인 SEARCH 함수를 사용하는 방법을 한번 알아보겠습니다.

SEARCH 함수를 알아보기전에 FIND 함수에 대해서 알고 싶으시다면

2017/12/29 - [엑셀 다루기] - [엑셀 함수] 문자열 검색하기


1. 사용방법

 - SEARCH(FIND_TEXT,WITHIN_TEXT,[START_NUM])

    ⊙ FIND_TEXT : 필수 요소이며, 찾으려는 텍스트입니다.

    ⊙ WITHIN_TEXT : 필수 요소이며, FIND_TEXT 인수 값을 검색하려는 텍스트입니다.

    ⊙ START_NUM : 선택 요소이며, WITHIN_TEXT 인수에서 찾기 시작하려는 위치까지의 문자 개수입니다.

FIND와 같은 찾기 함수 중에 하나지만 FIND와는 다른 특징을 가지고 있습니다.

FIND에서는 대/소문자 구분을 하지만 SEARCH에서는 대/소문자 구분을 안합니다.

FIND에서는 와일드카드 문자를 사용하지 못하지만 SEARCH에서는 와일드카드 문자인 ?(물음표), *(별표)를 사용할 수 있습니다.


2. 샘플

위 샘플 데이터를 참조하여 입력된 주소에서 동을 찾도록 해보겠습니다.


위 이미지는 샘플 데이터를 바탕으로 동을 찾아서 표시한 결과와 결과를 찾기 위한 수식을 표시하였습니다.


결과를 위한 수식을 확인해보면

SEARCH 함수의

첫번째 인자에는 찾고자하는 텍스트를 입력받고, EX) "구 *동"

두번째 인자에는 검색하려는 셀을 입력하여서 사용하였습니다.

실제 동을 찾기 위해서 MID 함수를 사용하여

첫번째 주소를 참조해서 SEARCH("구 *동", D3) 를 확인해보면 위의 이미지에서 표시한것처럼

"구 *동" 으로 시작하는 부분의 위치인 "덕진구"에서 "구"의 위치를 반환합니다.

그 위치는 처음 문자의 위치인 1을 기점으로 공백도 포함하여

12 라는 문자 위치가 반환되게 되는데

찾기 위한 동을 찾기 위해서 동의 시작지점을 표시하기 위해 +2 를 더해줘서

14 라는 위치를 반환합니다.


그 다음 동의 문자 길이를 찾기 위해서 입력한

((SEARCH("동 ",D3)+1) - (SEARCH("구 *동",D3)+2) 확인해보면

처음 앞부분의 SEARCH("동 ",D3)+1 으로 동으로 끝나는 지점인 631의 앞 위치를 반환하여

17 을 반환하고

뒷부분의 SEARCH("구 *동",D3)+2 으로 위에서 동의 시작 위치인 14를 반환하여

17 - 14 = 3

동의 문자 길이는 3이 되면서

MID(D3,SEARCH("구 *동",D3)+2,((SEARCH("동 ",D3)+1) - (SEARCH("구 *동",D3)+2)))

-> MID( D3, 14, 3 ) = 금암동

을 찾게 됩니다.


반응형