엑셀 FIND · SEARCH 함수로 텍스트 위치 찾기
엑셀에서 텍스트 데이터를 다루다 보면 특정 문자가 어디에 위치해 있는지 찾아야 할 때가 많습니다. 예를 들어, 이메일에서 @의 위치, 전화번호의 첫 번째 하이픈 위치, 상품코드에서 특정 문자 조합의 위치 등을 찾아야 하는 경우가 매우 많습니다.
이럴 때 사용하는 함수가 바로 FIND 함수와 SEARCH 함수입니다. 두 함수는 비슷한 기능을 하지만, 검색 조건과 대소문자 인식 방식에서 차이가 있습니다.
1. FIND 함수란?
FIND 함수는 텍스트에서 특정 문자를 찾아 그 위치(숫자)를 알려주는 함수입니다.
문자열의 위치는 왼쪽부터 1, 2, 3… 순서로 계산합니다.
함수 구조
=FIND(찾을문자, 전체문자열, [시작위치])
- 찾을문자: 찾고 싶은 문자열 또는 문자
- 전체문자열: 검색 대상이 되는 텍스트
- 시작위치: (선택) 몇 번째 문자부터 검색할지
예시
A1 = "hello-world"
하이픈(-)의 위치 찾기
=FIND("-", A1)
결과 → 6 (여섯 번째 글자에 위치)
특징
- 대소문자를 구별한다.
- 정확한 문자만 찾는다.
- 문자를 찾지 못하면 에러(#VALUE!)가 발생한다.
2. SEARCH 함수란?
SEARCH 함수도 특정 문자의 위치를 찾는 함수지만 FIND와 달리 대소문자를 구별하지 않는다는 차이가 있습니다.
함수 구조
=SEARCH(찾을문자, 전체문자열, [시작위치])
예시
A1 = "Hero-Love"
“hero”라는 글자의 시작 위치 찾기
=SEARCH("hero", A1)
결과 → 1
대소문자 구분 없이 “Hero”를 “hero”로 찾아냅니다.
특징
- 대소문자를 구별하지 않는다.
- 부분 문자열도 찾을 수 있다.
- 정확한 문자열이 없어도 패턴으로 검색 가능하다.
3. FIND vs SEARCH 차이 비교
| 구분 | FIND | SEARCH |
|---|---|---|
| 대소문자 구별 | O | X |
| 정확한 문자열 필요 | 필요 | 부분 검색 가능 |
| 사용 난도 | 약간 어려움 | 조금 쉬움 |
4. 실무에서 자주 쓰는 FIND·SEARCH 예제
① 이메일에서 ID만 추출하기
A1 = "hero2025@gmail.com"
@ 위치 찾기
=FIND("@", A1)
아이디(ID) 추출
=LEFT(A1, FIND("@", A1)-1)
② 전화번호에서 하이픈 위치 찾기
A1 = "010-1234-5678"
첫 번째 하이픈 위치
=FIND("-", A1)
두 번째 하이픈 위치
=FIND("-", A1, FIND("-", A1)+1)
③ 상품코드에서 특정 구분 문자 위치 찾기
A1 = "PRD-2025-EX-1450"
두 번째 하이픈 위치 찾기
=FIND("-", A1, FIND("-", A1)+1)
④ 특정 단어 존재 여부 확인
단어 존재 시 위치 반환 → IF와 함께 쓰면 응용 가능
=IF(ISNUMBER(SEARCH("특가", A1)), "특가상품", "일반상품")
5. FIND와 SEARCH를 활용한 고급 응용
① 중간 텍스트 자동 추출 공식
예: “서울특별시 강남구 역삼동” → “강남구”만 추출
첫 번째 공백 위치:
=FIND(" ", A1)
두 번째 공백 위치:
=FIND(" ", A1, FIND(" ", A1)+1)
중간 구 텍스트 추출:
=MID(A1, FIND(" ", A1)+1, FIND(" ", A1, FIND(" ", A1)+1) - FIND(" ", A1)-1)
② 특정 문자 앞의 모든 텍스트 추출 (동적)
=LEFT(A1, FIND("-", A1)-1)
③ 특정 문자 뒤 모든 텍스트 추출
=MID(A1, FIND("-", A1)+1, LEN(A1))
정리
FIND와 SEARCH는 엑셀 텍스트 분석의 핵심 함수입니다.
이 두 함수를 익히면:
- 이메일 분리
- 상품코드 분석
- 주소 데이터 정제
- 전화번호 구분
- 텍스트 패턴 검색 자동화
과 같은 작업을 정확하고 자동화된 방식으로 처리할 수 있습니다.
다음 글에서는 텍스트 길이를 계산하여 FIND·MID와 함께 자주 사용되는
LEN 함수 완벽 정리를 다룰까요?
또는 텍스트 합치기 함수 **CONCAT, TEXTJOIN**으로 넘어갈까요?
원하는 흐름을 알려주세요. 바로 이어 작성해드립니다!
0 댓글