엑셀 FIND, SEARCH 함수 – 특정 문자열 위치 찾기
엑셀에서 길이가 같은 문자열에서 원하는 문자열을 추출할 때는 LEFT, RIGHT, MID 함수를 사용해서 문자열을 추출하면 되는데요. 예를 들어 주민번호 뒷자리를 추출할 때는 RIGHT(7)을 사용하시면 됩니다. 그런데 불규칙한 길이의 문자열에서 원하는 문자열을 추출할 때는 FIND 또는 SEARCH 함수와 같이 사용해야 됩니다. 예를 들어 이메일 주소에서 아이디를 추출할 때는 FIND와 LEFT 함수를 같이 사용해야 됩니다.
그럼 간단한 예제로FIND, SEARCH 함수를 사용하여 특정 문자열을 찾는 방법에 대해서 알아보죠.
◎ 포스트 기준 -Microsoft 365 앱
1. 함수 구문
1) FIND, SEARCH 함수 구문 (마이크로소프트 문서)
▶ 두 번째 텍스트 문자열에서 지정된 텍스트 문자열을 검색하고, 두 번째 텍스트 문자열의 첫 문자를 기준으로 첫 번째 문자열이 시작하는 위치에 해당하는 숫자를 반환합니다.
FIND(find_text, within_text, [start_num])
SEARCH(find_text,within_text,[start_num])
인수 이름 | 설명 |
---|---|
find_text (필수) | 찾으려는 텍스트입니다. |
within_text (필수) | find_text 인수 값을 검색하려는 텍스트입니다. |
start_num (선택) | 검색을 시작할 문자를 지정합니다. within_text에서 첫 문자의 문자 번호는 1입니다. start_num을 생략하면 1로 간주됩니다. |
2) 두 함수의 차이점
차이 | FIND 함수 | SEARCH 함수 |
---|---|---|
대/소문자 | 대/소문자를 구분함 | 대/소문자를 구분하지 않음 |
와일드카드 문자 | 사용할수 없음 | 물음표(?)와 별표(*)를 사용 가능 |
※ 두 함수는 거의 동일합니다. 제 경험상 SEARCH 함수는 거의 사용한 적은 없는 것 같습니다.
2. 함수 사용 예제
▶ 사용 예제


1) 예제 : @ 문자 찾기


▶ FIND 함수 사용 [B2] : 8 = “abcd123@daum.net” 문자열에서 @ 문자는 8번째
→ =FIND(“@”, A2)
▶ SEARCH 함수 사용 [C2] : 8 = “abcd123@daum.net” 문자열에서 @ 문자는 8번째
→=SEARCH(“@”, A2)
※ FIND, SEARCH 함수는 예제와 같이 단독으로는 잘 사용하지 않겠죠.
2) 예제 : 메일 주소에서 아이디와 도메인을 각각 추출하기


▶ [D2] : abcd123 = “abcd123@daum.net” 문자열에서 왼쪽으로부터 @ 문자 앞까지
→ =LEFT(A2, FIND(“@”, A2)-1)
※ LEFT(A2, FIND(“@”, A2)-1) = LEFT(A2, 8-1) = LEFT(A2, 7)
▶ [E2] : abcd123 = “abcd123@daum.net” 문자열에서 오른쪽으로부터 @ 문자 뒷까지
→ =RIGHT(A2, LEN(A2)-FIND(“@”, A2))
※ RIGHT(A2, LEN(A2)-FIND(“@”, A2)) = RIGHT(A2, 16-8) = RIGHT(A2, 8)
함께 보면 좋은 게시글
- 엑셀 LEFT, RIGHT, MID 함수 사용법 – 원하는 문자열 추출하기
- 엑셀 LEN 함수 사용법 – 문자열 길이 구하기
- 엑셀 특정 문자열 대체하기 – SUBSTITUTE, REPLACE 함수
- 엑셀 CONCAT, TEXTJOIN 함수 사용법 – 여러 문자열 합치기
- 엑셀 EXACT 함수: 대소문자 구별하여 정확한 텍스트 비교하기
이 글이 도움이 되셨다면 공유 부탁 드립니다.