안녕하세요! 여러분의 엑셀 해결사, 오피스 파트너입니다.
지난 시간에는 데이터를 합치는 & 연산자와 CONCATENATE 함수에 대해 알아봤습니다. 오늘은 다시 데이터를 분석하는 시간입니다.
업무를 하다 보면 긴 문장 속에서 "특정 글자가 몇 번째에 있는지" 알아내야 할 때가 있습니다. 예를 들어보겠습니다.
"이메일 주소(user123@google.com)가 있는데, 여기서 @ 골뱅이 기호가 몇 번째 글자인지 알아야, 그 앞의 아이디만 잘라낼 수 있겠죠?"
이럴 때 사용하는 것이 바로 FIND와 SEARCH 함수입니다. 둘 다 "찾아라!"라는 뜻이지만, 성격이 완전히 다릅니다. 하나는 아주 깐깐하고, 하나는 융통성이 있습니다. 오늘 이 두 함수의 결정적 차이와 실무 활용법을 완벽하게 정리해 드립니다.

1. FIND 함수: 대소문자를 가리는 깐깐한 탐정
FIND 함수는 이름 그대로 특정 텍스트를 찾아 그 시작 위치(숫자)를 알려줍니다. 가장 큰 특징은 대문자와 소문자를 엄격하게 구분한다는 점입니다.
1-1. 사용 공식
* 해석: =FIND("찾을 글자", 전체 셀, [시작 위치])
대괄호 []로 묶인 시작 위치는 생략 가능하며, 생략 시 1(맨 처음)부터 찾기 시작합니다.
1-2. 실전 예제: 대문자 'B' 찾기
A1 셀에 "Excel Banana"라는 단어가 있다고 칩시다.
- 수식:
=FIND("b", A1)(소문자 b를 찾음) - 결과: #VALUE! (에러)
- 이유: "Banana"의 B는 대문자인데, 소문자 b를 찾으라고 했기 때문에 못 찾습니다.
- 수식:
=FIND("B", A1)(대문자 B를 찾음) - 결과: 7
- 이유: 앞에서부터 세어보면 'E-x-c-e-l-공백-B' 순서이므로 7번째에 B가 있습니다.
2. SEARCH 함수: 대소문자 무시하는 융통성파
SEARCH 함수도 기능은 똑같습니다. 위치 번호를 반환하죠. 하지만 FIND와 달리 대소문자를 구분하지 않습니다(Not Case Sensitive). "A"나 "a"나 똑같은 놈으로 취급합니다.
2-1. 사용 공식
* 해석: =SEARCH("찾을 글자", 전체 셀, [시작 위치])
2-2. 실전 예제: 그냥 'b' 찾기
똑같이 A1 셀에 "Excel Banana"가 있습니다.
- 수식:
=SEARCH("b", A1) - 결과: 7
- 이유: 소문자 b를 넣었지만, 대문자 B를 찾아서 위치를 알려줍니다.
3. 결정적 차이점 비교 (FIND vs SEARCH)
이 표가 오늘 포스팅의 핵심입니다. 헷갈릴 때마다 이 표를 참고하세요.
| 구분 | FIND 함수 | SEARCH 함수 |
|---|---|---|
| 대소문자 구분 | O (철저함) | X (무시함) |
| 와일드카드(*, ?) | 사용 불가 | 사용 가능 |
| 추천 상황 | 정확한 코드를 찾을 때 | 일반적인 검색 시 |
SEARCH 함수는
*(모든 문자), ?(한 글자) 같은 특수기호를 쓸 수 있습니다.예:
=SEARCH("K*", A1) -> K로 시작하는 모든 단어의 위치를 찾음.(FIND 함수는 * 기호 자체를 찾으려고 하기 때문에 에러가 납니다.)
4. [실무 끝판왕] 이메일에서 아이디만 추출하기
사실 FIND나 SEARCH 함수만 단독으로 쓰는 일은 거의 없습니다. 주로 LEFT, MID, RIGHT 함수와 결합(Nested)해서 사용합니다. 이것이 진짜 실력입니다.
상황: A1 셀에 employee01@samsung.com이라는 이메일이 있습니다. 여기서 @ 앞부분인 employee01만 가져오고 싶습니다. 아이디 길이가 사람마다 달라서 LEFT로 10개만 자를 수도 없는 노릇입니다.
논리 흐름:
- 먼저
SEARCH함수로 골뱅이(@)가 몇 번째에 있는지 찾는다. LEFT함수를 이용해, 왼쪽에서부터 그 위치 바로 앞(-1)까지만 가져온다.
상세 분석:
SEARCH("@", A1): @ 기호가 11번째에 있다고 알려줍니다.-1을 하는 이유 : 11번째 글자(@)까지 가져오면 안 되니까요. 그 바로 앞인 10번째 글자까지만 필요합니다.- 결국
=LEFT(A1, 10)이 되어 "employee01"이 추출됩니다.
이 공식 하나만 외워두시면, 괄호 안의 문자만 꺼내기, 주소에서 '시' 앞까지만 자르기 등 모든 텍스트 추출 업무를 마스터할 수 있습니다.
5. 자주 묻는 질문 (FAQ)
Q. 찾으려는 글자가 없으면 어떻게 되나요?
A. #VALUE! 에러가 뜹니다. 그래서 실무에서는 보통 IFERROR 함수와 섞어서 "찾는 값없음" 같은 문구가 뜨게 만듭니다.
Q. 찾는 글자가 여러 개 있으면요?
A. 무조건 가장 먼저 나오는(왼쪽 기준) 글자의 위치만 알려줍니다. 두 번째 나오는 글자를 찾고 싶다면 [start_num] 인수에 첫 번째 글자 위치+1을 넣어줘야 합니다. (이건 심화 과정에서 다룰게요!)
오늘은 데이터의 위치를 탐지하는 레이더, FIND와 SEARCH 함수에 대해 알아보았습니다.
정리하자면:
- 대소문자를 꼭 구분해야 한다면 👉 FIND
- 그냥 편하게 찾고 싶거나 와일드카드를 쓴다면 👉 SEARCH
이제 여러분은 텍스트를 자르고(LEFT), 붙이고(CONCATENATE), 위치를 찾는(SEARCH) 기술까지 모두 갖추셨습니다.
다음 시간에는 엑셀의 꽃, 많은 분들이 가장 어려워하지만 가장 알고 싶어 하는 "IF 함수: 만약 ~라면 (조건문 기초)"에 대해 본격적으로 다뤄보겠습니다. 이제 엑셀에게 '지능'을 부여할 차례입니다. 기대해 주세요!
도움이 되셨다면 공감 버튼 꾹 눌러주세요!