[엑셀 함수] SEARCH 함수를 사용한 특정 문자 찾기
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 ) = 금암동
을 찾게 됩니다.