엑셀 FIND · SEARCH 함수 — 텍스트 속 원하는 위치를 정확히 찾아내기
엑셀에서 텍스트를 다루다 보면 이런 상황을 자주 만나게 됩니다.
- 이메일 주소에서 @ 앞뒤를 자동으로 나누고 싶을 때
- 파일명에서 확장자 위치를 찾고 싶을 때
- 상품 코드에서 특정 기호(-, /, _) 기준으로 분리해야 할 때
- 주소에서 ‘시’, ‘구’, ‘동’ 위치를 자동으로 인식해야 할 때
이처럼 문자의 위치가 일정하지 않은 텍스트를 처리할 때 반드시 필요한 함수가 바로 FIND와 SEARCH입니다.
1. FIND 함수란?
FIND 함수는 텍스트 안에서 특정 문자가 처음 등장하는 위치를 숫자로 반환합니다.
기본 구조
=FIND(찾을문자, 전체텍스트)
예제
A1 = "hero@naver.com"
=FIND("@", A1)
결과 → 5
즉, @ 기호가 문자열의 5번째 위치에 있다는 뜻입니다.
2. SEARCH 함수란?
SEARCH 함수는 FIND와 거의 동일하지만, 대소문자를 구분하지 않는다는 점이 가장 큰 차이입니다.
기본 구조
=SEARCH(찾을문자, 전체텍스트)
예제
A1 = "Excel_Function"
=SEARCH("excel", A1)
결과 → 1
FIND였다면 오류가 발생했겠지만, SEARCH는 대소문자를 무시합니다.
3. FIND vs SEARCH 차이 정리
| 구분 | FIND | SEARCH |
|---|---|---|
| 대소문자 구분 | 구분함 | 구분 안 함 |
| 와일드카드 사용 | 불가 | 가능 (*, ?) |
| 정확성 | 높음 | 유연함 |
✔ 정확한 문자 위치가 중요하면 FIND ✔ 데이터가 불규칙하면 SEARCH 사용이 좋습니다.
4. LEFT · RIGHT · MID와 함께 쓰는 이유
FIND와 SEARCH는 단독으로 쓰기보다는 LEFT, RIGHT, MID와 결합될 때 진짜 위력을 발휘합니다.
① 이메일 아이디 추출
A1 = "hero@naver.com"
=LEFT(A1, FIND("@", A1)-1)
결과 → hero
② 이메일 도메인 추출
=RIGHT(A1, LEN(A1) - FIND("@", A1))
결과 → naver.com
③ 파일명에서 확장자 제거
A1 = "report_final_v2.xlsx"
=LEFT(A1, FIND(".", A1)-1)
결과 → report_final_v2
5. 실무에서 가장 많이 쓰는 FIND/SEARCH 활용 예
① 전화번호 국번 기준 분리
A1 = "02-345-7890"
=LEFT(A1, FIND("-", A1)-1)
결과 → 02
② 주소에서 ‘구’ 위치 찾기
A1 = "서울시 강남구 역삼동"
=FIND("구", A1)
결과 → 강남구의 위치 반환
③ 특정 단어 포함 여부 확인
IF 함수와 함께 자주 사용됩니다.
=IF(ISNUMBER(SEARCH("무료", A1)), "포함", "미포함")
마케팅 문구, 키워드 검출, 조건 분기에 매우 유용합니다.
6. FIND / SEARCH 사용 시 주의사항
① 찾는 문자가 없으면 오류 발생
해결 방법: IFERROR와 함께 사용
=IFERROR(FIND("@", A1), "없음")
② 공백도 하나의 문자로 인식
"서울 강남" → 공백 포함 총 5글자
③ 여러 개 중 첫 번째 위치만 반환
두 번째, 세 번째 위치를 찾으려면 시작 위치 옵션을 활용해야 합니다.
=FIND("-", A1, FIND("-", A1)+1)
정리
FIND와 SEARCH 함수는 엑셀 텍스트 처리에서 “기준점 역할”을 하는 매우 중요한 함수입니다.
LEFT, RIGHT, MID와 결합하면 문자열 분리, 자동 분류, 데이터 정규화까지 실무에서 필요한 거의 모든 텍스트 작업을 해결할 수 있습니다.
다음 글에서는 텍스트 길이를 다루는 핵심 함수인 LEN 함수 — 글자 수 계산과 실무 활용법 을 이어서 설명해드리겠습니다.
0 댓글