본문 바로가기
업무 지식/엑셀 함수

[엑셀] 문자의 위치를 찾는 함수 FIND 함수와 SEARCH 함수의 차이점

by 김억지 2023. 3. 31.

엑셀에서 문자의 앞 n개 단어를 추출하는 방법에 대해 포스팅을 할 때 FIND 함수의 사용법에 대해 설명한 적이 있습니다.

 

[엑셀] 앞 n개 단어 추출하는 방법(LEFT,FIND)

셀의 '왼쪽 몇 개 글자', 또는 '오른쪽 몇 개 글자', 또는 '가운데 몇 번째부터 몇 개 글자'를 추출할 때는 LEFT, RIGHT, MID 함수를 이용하면 됩니다. 2023.03.07 - [업무 지식/엑셀 함수] - [엑셀] LEFT, RIGHT,

pddwork.tistory.com

 

FIND 함수와 사용법이 거의 동일한 함수가 하나 있습니다. 바로 SEARCH 함수인데요. 사용하는 상황이 비슷해서 저를 포함한 많은 분들이 명확하게 구분 없이 사용하고 있을 것이라 예상됩니다. FIND 함수와 SEARCH 함수의 구조는 동일합니다.

 

=FIND(Find_text, Within_text, Start_num)

=SEARCH(Find_text, Within_text, Start_num)

 

첫 번째 인수는 두 번째 인수로 지정한 텍스트에서 찾을 텍스트입니다.

 

두 번째 인수는 찾으려는 텍스트가 포함된 텍스트입니다.

 

세 번째 인수는 찾기 시작할 문자의 위치입니다. 생략할 수 있으며 생략할 경우 1로 지정합니다. 

 

함수의 구조는 동일하지만 두 가지 차이점이 있습니다. 첫 번째는 FIND 함수는 대소문자를 구분하지만 SEARCH 함수는 대소문자를 구분하지 않습니다. 두 번째는 FIND 함수는 찾을 문자에서 와일드카드(*, ?)를 사용할 수 없지만 SEARCH 함수는 와일드카드를 사용할 수 있습니다. 즉 FIND 함수는 문자를 찾을 때 정확한 값을 찾는 함수이고 SEARCH 함수는 FIND 함수보다 조금 더 유동적이라고 보시면 되겠습니다. 와일드카드의 사용방법에 대해서는 아래의 포스팅을 참고하시면 됩니다.

 

[엑셀] 와일드카드(*, ?, ~) 기능 활용하는 방법

엑셀에서 특정한 데이터를 찾거나 정렬할 때, 혹은 조건함수나 참조함수를 사용할 때 데이터의 일부만 일치하는 값을 찾아야 할 때가 있습니다. 예를 들어서 '특정 단어로 시작하는 모든 단어'

pddwork.tistory.com

 

위 그림과 같이 "High School"이라는 문자에서 "S"의 위치를 찾아보았습니다. 두 함수 모두 6이라는 값이 나타납니다.

("High School"에서 "S"의 위치는 공백을 포함하여 6번째입니다.)

 

"High School"에서 대문자 "S"를 찾을 때는 FIND 함수와 SEARCH 함수가 차이가 없었지만 소문자 "s"를 찾을 때는 FIND 함수에서는 오류가 발생합니다. SEARCH 함수는 대소문자를 구분하지 않기 때문에 "s"를 찾아도 "S"의 위치를 나타냅니다.

 

"하우스감귤"에서 "감귤"의 위치를 찾을 때는 FIND 함수와 SEARCH 함수의 값이 똑같습니다.

 

하지만 위와 같이 찾는 문자에 와일드카드(*, ?)를 입력했을 때 FIND 함수는 오류가 발생하고 SEARCH 함수는 감으로 시작하는 단어의 위치를 나타냅니다. SEARCH는 찾는 문자에 와일드카드를 넣을 수 있지만 FIND 함수는 와일드카드를 사용할 수 없기 때문입니다.

댓글