엑셀 FIND/SEARCH 끝판 가이드
문자 위치 찾기부터 LEFT/RIGHT/MID 20개 실무 예제까지, 대소문자·와일드카드 완전 이해
1. 인사 및 서론
안녕하세요, 유뿡뿡입니다.
보고서, ERP 추출, 고객/상품 코드처럼 “문자열 속에서 필요한 부분만 정확히 잘라내기”는 엑셀 실무의 상수입니다. 이를 정확하고 빠르게 해내는 핵심이 **FIND/SEARCH로 ‘위치(숫자)’를 구한 뒤, LEFT/RIGHT/MID로 ‘추출’**하는 2단계 루틴이에요.
이 글에서는 **FIND와 SEARCH의 차이(대소문자 구분/와일드카드)**를 정확하게 짚고, 실무 20개 예제로 바로 써먹을 수 있는 공식을 제공합니다.
글 기준일: 2025-09-26(Asia/Seoul)
핵심 명제: “위치를 숫자로 만들면 문제의 80%가 풀린다.”
위치 = FIND/SEARCH 결과값, 추출 = LEFT/RIGHT/MID
2. 한눈에 보는 목차
- 서론
- 목차
- FIND/SEARCH 완전 이해(정의, 차이, 인수)
- 추출 3대 패턴(앞·뒤·사이)과 공식 템플릿
- 실무 20개 예제(이메일·전화·파일·주소·코드·금액·날짜 등)
- 에러·공백·특수문자·와일드카드 완전정복 팁
- 요약 정리
- FQA
- 결론
3. FIND/SEARCH 완전 이해
3-1) FIND: 대소문자 구분 O, 와일드카드 X
- 정의: 텍스트 안에서 “찾을 문자/단어”가 몇 번째 글자인지 숫자로 반환
- 구문: =FIND(찾을_문자, 대상_텍스트, [시작위치])
- 특징
- ‘A’와 ‘a’를 다르게 취급 (정확 매칭)
- 와일드카드(*, ?) 지원하지 않음
- 못 찾으면 #VALUE!
주석
- 대소문자 구분: 영어 대문자/소문자를 서로 다른 문자로 본다는 뜻
- 시작위치: 검색을 시작할 문자 인덱스(1부터)
3-2) SEARCH: 대소문자 구분 X, 와일드카드 O
- 정의: FIND와 동일하게 위치(숫자) 반환
- 구문: =SEARCH(찾을_문자, 대상_텍스트, [시작위치])
- 특징
- ‘A’와 ‘a’를 같게 취급 (느슨 매칭)
- 와일드카드 지원
- * : 임의 길이(0자 이상)
- ? : 임의 1글자
- ~ : 와일드카드를 문자 그대로 찾을 때 사용 (예: ~*, ~?)
- 못 찾으면 #VALUE!
비교 한 줄 요약
- 정확·엄격하게 찾을 때 → FIND
- 느슨·패턴으로 찾을 때 → SEARCH
4. 추출 3대 패턴(앞·뒤·사이)과 템플릿
| 목표 | 사고 순서 | 전형적 공식 |
| 구분자 앞만 | 구분자 위치 = p → 왼쪽 p-1 | =LEFT(A1, FIND("-",A1)-1) |
| 구분자 뒤만 | 전체길이-L, 시작은 p+1 | =RIGHT(A1, LEN(A1)-FIND("-",A1)) |
| 구분자 사이 | 앞 p1, 뒤 p2 → 길이 = p2-p1-1 | =MID(A1, p1+1, p2-p1-1) |
주석
- LEN: 문자열 길이
- 엑셀 위치는 1부터 시작
5. 실무 20개 예제 (FIND/SEARCH + LEFT/RIGHT/MID)
표는 간단히, 각 예제 아래에 상세 설명/변형 팁을 덧붙입니다.
기본 가정: 데이터는 A1 셀.
① 이메일 사용자명(아이디) 추출
- 예: test.user@naver.com → test.user
- 공식: =LEFT(A1, FIND("@",A1)-1)
- 팁: SEARCH("@",A1)로도 무방(대소문자 무관)
② 이메일 도메인 추출
- 예: test.user@naver.com → naver.com
- 공식: =RIGHT(A1, LEN(A1)-FIND("@",A1))
- 확장: 도메인의 최상위(TLD)만 빼고 2단계만 남기고 싶다면 ⑮ 예제 참조
③ 괄호 안 텍스트 추출
- 예: 홍길동(영업팀) → 영업팀
- 공식:
=MID(A1, FIND("(",A1)+1, FIND(")",A1)-FIND("(",A1)-1) - 예외: 괄호가 없을 수도 → IFERROR 감싸기 필수
④ 첫 공백 앞(성/앞부분) 추출
- 예: Kim Hana → Kim
- 공식: =LEFT(A1, FIND(" ",A1&" ")-1)
- 포인트: 공백이 없어도 안전(문자열 끝에 공백을 임시 추가)
⑤ 첫 공백 뒤(이름/뒷부분) 추출
- 예: Kim Hana → Hana
- 공식: =MID(A1, FIND(" ",A1)+1, LEN(A1))
⑥ 전화번호 앞/뒤
- 예: 010-1234-5678
- 앞(국번): =LEFT(A1, FIND("-",A1)-1) → 010
- 뒤(나머지): =RIGHT(A1, LEN(A1)-FIND("-",A1)) → 1234-5678
⑦ 두 번째 하이픈 사이(전화 중간자리)
- 예: 010-1234-5678 → 1234
- 절차:
- p1 = FIND("-",A1)
- p2 = FIND("-",A1, p1+1)
- 중간: =MID(A1, p1+1, p2-p1-1)
⑧ 제품코드 마지막 블록(마지막 구분자 기준)
- 예: ABC-123-XY-999 → 999
- 마지막 ‘-’ 위치:
=FIND("@", SUBSTITUTE(A1,"-","@", LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))) - 끝 블록: =RIGHT(A1, LEN(A1)-위치)
- 응용: 마지막 전 블록, 세 번째 블록… 모두 같은 트릭으로 확장
⑨ 파일 확장자(마지막 점 기준)
- 예: report.final.v3.xlsx → xlsx
- 마지막 ‘.’ 위치:
=FIND("@", SUBSTITUTE(A1,".","@", LEN(A1)-LEN(SUBSTITUTE(A1,".","")))) - 확장자: =RIGHT(A1, LEN(A1)-위치)
⑩ ISO 날짜(YYYY-MM-DD)에서 연/월/일
- 예: 2025-09-26 → 연/월/일 각각
- 공식:
- 연: =LEFT(A1,4)
- 월: =MID(A1,6,2)
- 일: =RIGHT(A1,2)
- 포인트: 형식 고정이면 FIND/SEARCH보다 고정 길이가 빠름
⑪ 금액에서 기호 제거 후 숫자화
- 예: ₩1,234,500원 → 1234500(숫자)
- 공식(정리 → 숫자화):
=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"₩",""),",",""),"원","")) - 변형: FIND("원",A1)로 “원” 위치를 잡아 앞부분만 잘라오는 흐름도 가능
⑫ 첫 숫자 시작 위치 찾아 뒤쪽 추출
- 예: ABC123XYZ → 123XYZ
- 동적배열(365) 공식:
=MID(A1, MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1),1E+9)), 99) - 구버전: 배열수식(Ctrl+Shift+Enter) 필요
- 포인트: 여러 FIND 중 최소값 = 첫 숫자 위치
⑬ 콤마로 구분된 n번째 항목
- 예: a,b,c,d,e 에서 3번째 → c
- 권장 공식(고정폭 트릭):
=TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)), (n-1)*99+1, 99)) - 설명: FIND 없이도 해결되지만, “구분자 위치로 자른다” 사고가 같음
⑭ 키워드 뒤 고정 길이 추출
- 예: Order#ABCD-2025 → ABCD
- 공식:
=MID(A1, FIND("Order#",A1)+LEN("Order#"), 4)
⑮ 도메인 2단계만 남기기
- 예: img.cdn.site.co.kr → co.kr
- 아이디어: “마지막 점”과 “마지막에서 두 번째 점”을 찾아 오른쪽 부분 추출
- 구현: ⑨의 “마지막 점” 공식을 한 번 더 부분 문자열에 적용
⑯ 주소에서 ‘구’까지 자르기
- 예: 부산광역시 수영구 광안동 123-4 → 부산광역시 수영구
- 공식:
- p = FIND("구 ",A1)
- =LEFT(A1, p+1) (‘구’ 포함하도록 +1)
⑰ 제품명/규격 분리(괄호형)
- 예: 고무장갑(대) → 제품: 고무장갑, 규격: 대
- 제품: =LEFT(A1, FIND("(",A1)-1)
- 규격: ③의 괄호 안 공식 사용
⑱ 경로에서 파일명만(마지막 \ 뒤)
- 예: C:\Data\2025\report.xlsx → report.xlsx
- 마지막 ‘\’ 위치:
=FIND("@", SUBSTITUTE(A1,"\","@", LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))) - 파일명: =RIGHT(A1, LEN(A1)-위치)
⑲ 해시태그 첫 개만
- 예: #엑셀 #실무 #팁 → #엑셀
- 공식:
- p = FIND(" ", A1&" ")
- =LEFT(A1, p-1)
⑳ SEARCH 와일드카드로 패턴 위치 잡기
- 예: INV-2025-0007에서 중간 4자리 연도 블록의 시작 위치
- 공식(패턴 탐색): =SEARCH("INV-????-0007", A1)
- 변형: 중간 자릿수가 가변이면 * 사용: =SEARCH("INV-*-0007", A1)
- 주의: 와일드카드는 SEARCH만 가능, FIND는 불가
- 이 위치를 기준으로 MID 길이 조합 → 다양한 패턴 추출 완성
주석
- 와일드카드: *(임의 길이), ?(한 글자), 문자 그대로 찾고 싶으면 ~*, ~?처럼 틸드(~) 사용
6. 에러·공백·특수문자·와일드카드 완전정복 팁
- 에러 방지: 못 찾으면 #VALUE!
- =IFERROR(FIND("-",A1),0) 처럼 IFERROR로 감싸 안전처리
- 공백 정리:
- TRIM은 연속 공백을 1개로(단, NBSP(CHAR(160))는 제외)
- NBSP가 섞였을 땐 =TRIM(SUBSTITUTE(A1,CHAR(160)," "))
- 제어문자 제거: CLEAN
- 마지막/두 번째 구분자:
- SUBSTITUTE로 마지막만 임시기호로 바꾼 뒤 FIND
- N번째는 SUBSTITUTE의 인스턴스 번호 응용
- SEARCH 와일드카드:
- *(길이 가변)·?(정확히 한 글자)
- 문자 그대로 별표/물음표를 찾을 땐 ~*, ~?
- 버전 차이:
- 365 동적배열은 그냥 엔터
- 구버전 일부 공식은 배열수식(Ctrl+Shift+Enter) 필요
- 한글 처리:
- 일반 한글은 1글자=1길이로 안전
- 외부(웹/ERP) 텍스트에서만 간혹 특수 공백·제어문자 주의
용어 주석
- NBSP(Non-Breaking Space): 줄바꿈 방지 공백(코드 160)
- 배열수식: 여러 값(배열)을 한 번에 계산하는 구식 입력 방식
7. 요약 정리
| 구분 | FIND | SEARCH |
| 대소문자 | 구분함 | 구분 안 함 |
| 와일드카드 | 미지원 | 지원(*, ?, ~) |
| 전형적 용도 | 정확 매칭·정돈된 포맷 | 패턴 매칭·대소문자 섞인 데이터 |
| 공통 | 위치(숫자) 반환 → LEFT/RIGHT/MID로 추출 | 동일 |
3대 추출 템플릿
- 앞: =LEFT(A1, FIND("-",A1)-1)
- 뒤: =RIGHT(A1, LEN(A1)-FIND("-",A1))
- 사이: =MID(A1, p1+1, p2-p1-1)
8. FQA
Q1. FIND/SEARCH 중 뭘 먼저 익혀야 하나요?
A. SEARCH부터. 대소문자 무시 + 와일드카드로 실무 적용 폭이 넓습니다. 이후 “정확 매칭” 필요할 때 FIND를 선택.
Q2. 마지막 구분자 기준으로 자르는 공식을 외워야 하나요?
A. 원리만 기억: “SUBSTITUTE로 마지막만 치환 → 그 기호 위치를 FIND”. 점/하이픈/역슬래시 모두 같은 패턴.
Q3. 찾는 문자가 없을 때 파일 전체가 에러예요.
A. 항상 IFERROR로 감싸 기본값(0, 빈 문자열 등)을 지정하세요.
예: =IFERROR(LEFT(A1,FIND("-",A1)-1), A1)
Q4. 와일드카드를 문자 그 자체로 찾고 싶어요.
A. ~를 앞에 붙여요. 예: SEARCH("file~?.txt", A1)
Q5. 공백을 없앴는데도 FIND가 실패합니다.
A. NBSP(CHAR(160))일 수 있어요. SUBSTITUTE(A1,CHAR(160)," ") 후 TRIM.
Q6. 숫자·날짜로 계산이 안 됩니다.
A. 텍스트일 확률 큽니다. VALUE/DATEVALUE/TIMEVALUE로 형 변환.
Q7. 여러 조건으로 ‘혹은(OR)’ 검색은?
A. MIN(IFERROR(FIND({조건1,조건2,...},A1),1E+9))처럼 배열로 최소값을 뽑는 방법이 실전에서 강력합니다(365 권장).
Q8. 파일 확장자 없는 케이스는요?
A. 마지막 점을 못 찾으니 #VALUE!. IFERROR로 원문 반환 등 예외처리 필요.
Q9. 숫자 위치를 찾아야 할 때 정규식이 있으면 쉬울 텐데요?
A. 엑셀 기본은 정규식을 직접 지원하지 않습니다. 대신 SEARCH 와일드카드와 배열 FIND 트릭으로 대체합니다.
Q10. LEFT/RIGHT/MID 대신 TEXTSPLIT/TAKE가 편한데요?
A. 365 함수군은 더 편합니다. 다만 호환성(사내 구버전) 고려해 본문 공식도 익혀두세요.
9. 결론
- 문자열 가공의 본질은 **“위치 → 추출”**입니다.
- 정확 매칭은 FIND, 패턴/대소문자 무시는 SEARCH.
- 마지막/두 번째 등 난도 높은 요구는 SUBSTITUTE 트릭으로 해결.
- IFERROR + TRIM/CLEAN/SUBSTITUTE로 예외를 봉합하면, 외부 데이터도 튼튼히 다뤄집니다.
이 글의 20개 예제를 여러분 파일의 A열에 붙여넣고 바로 시험해보세요. 세 번만 반복하면 손이 먼저 움직입니다.
'기타 > 엑셀' 카테고리의 다른 글
| [엑셀] 숫자 관련 함수 완벽 가이드 (0) | 2025.09.26 |
|---|---|
| [엑셀] 행·열 번호 함수 총정리(ROW · COLUMN 완벽 가이드) (0) | 2025.09.18 |
| [엑셀] 반올림/올림/내림 함수 총정리 (ROUND · ROUNDUP · ROUNDDOWN · MROUND · INT · TRUNC) (0) | 2025.09.18 |
| [엑셀] TEXT · VALUE 함수 완벽 정리 (숫자↔문자 변환 공식) (0) | 2025.09.16 |
| [엑셀] 문자열 함수 완벽 정리 ( LEFT · RIGHT · MID · LEN · TRIM ) (0) | 2025.09.16 |