본문 바로가기
카테고리 없음

FIND & SEARCH: 긴 문장에서 특정 단어 위치 찾기 (두 함수의 차이점)

by story00-1 2026. 1. 13.

안녕하세요! 여러분의 엑셀 해결사, 오피스 파트너입니다.

지난 시간에는 데이터를 합치는 & 연산자와 CONCATENATE 함수에 대해 알아봤습니다. 오늘은 다시 데이터를 분석하는 시간입니다.

업무를 하다 보면 긴 문장 속에서 "특정 글자가 몇 번째에 있는지" 알아내야 할 때가 있습니다. 예를 들어보겠습니다.

"이메일 주소(user123@google.com)가 있는데, 여기서 @ 골뱅이 기호가 몇 번째 글자인지 알아야, 그 앞의 아이디만 잘라낼 수 있겠죠?"

이럴 때 사용하는 것이 바로 FINDSEARCH 함수입니다. 둘 다 "찾아라!"라는 뜻이지만, 성격이 완전히 다릅니다. 하나는 아주 깐깐하고, 하나는 융통성이 있습니다. 오늘 이 두 함수의 결정적 차이와 실무 활용법을 완벽하게 정리해 드립니다.

FIND & SEARCH: 긴 문장에서 특정 단어 위치 찾기 (두 함수의 차이점)
FIND & SEARCH: 긴 문장에서 특정 단어 위치 찾기 (두 함수의 차이점)

1. FIND 함수: 대소문자를 가리는 깐깐한 탐정

FIND 함수는 이름 그대로 특정 텍스트를 찾아 그 시작 위치(숫자)를 알려줍니다. 가장 큰 특징은 대문자와 소문자를 엄격하게 구분한다는 점입니다.

1-1. 사용 공식

=FIND(find_text, within_text, [start_num])
* 해석: =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(find_text, within_text, [start_num])
* 해석: =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개만 자를 수도 없는 노릇입니다.

논리 흐름:

  1. 먼저 SEARCH 함수로 골뱅이(@)가 몇 번째에 있는지 찾는다.
  2. LEFT 함수를 이용해, 왼쪽에서부터 그 위치 바로 앞(-1)까지만 가져온다.
=LEFT(A1, SEARCH("@", A1) - 1)

상세 분석:

  • SEARCH("@", A1) : @ 기호가 11번째에 있다고 알려줍니다.
  • -1을 하는 이유 : 11번째 글자(@)까지 가져오면 안 되니까요. 그 바로 앞인 10번째 글자까지만 필요합니다.
  • 결국 =LEFT(A1, 10)이 되어 "employee01"이 추출됩니다.

이 공식 하나만 외워두시면, 괄호 안의 문자만 꺼내기, 주소에서 '시' 앞까지만 자르기 등 모든 텍스트 추출 업무를 마스터할 수 있습니다.


5. 자주 묻는 질문 (FAQ)

Q. 찾으려는 글자가 없으면 어떻게 되나요?
A. #VALUE! 에러가 뜹니다. 그래서 실무에서는 보통 IFERROR 함수와 섞어서 "찾는 값없음" 같은 문구가 뜨게 만듭니다.

Q. 찾는 글자가 여러 개 있으면요?
A. 무조건 가장 먼저 나오는(왼쪽 기준) 글자의 위치만 알려줍니다. 두 번째 나오는 글자를 찾고 싶다면 [start_num] 인수에 첫 번째 글자 위치+1을 넣어줘야 합니다. (이건 심화 과정에서 다룰게요!)


오늘은 데이터의 위치를 탐지하는 레이더, FINDSEARCH 함수에 대해 알아보았습니다.

정리하자면:

  • 대소문자를 꼭 구분해야 한다면 👉 FIND
  • 그냥 편하게 찾고 싶거나 와일드카드를 쓴다면 👉 SEARCH

이제 여러분은 텍스트를 자르고(LEFT), 붙이고(CONCATENATE), 위치를 찾는(SEARCH) 기술까지 모두 갖추셨습니다.

다음 시간에는 엑셀의 꽃, 많은 분들이 가장 어려워하지만 가장 알고 싶어 하는 "IF 함수: 만약 ~라면 (조건문 기초)"에 대해 본격적으로 다뤄보겠습니다. 이제 엑셀에게 '지능'을 부여할 차례입니다. 기대해 주세요!

도움이 되셨다면 공감 버튼 꾹 눌러주세요!