엑셀 FIND 함수 실전 활용: 텍스트 위치 검색부터 데이터 추출까지

업무에서 방대한 텍스트 데이터를 다루다 보면, 특정 문자가 몇 번째에 위치하는지 파악해야 하는 상황이 반복됩니다. 이메일 주소에서 도메인을 분리하거나, 주소 데이터에서 시·구를 나눌 때 수작업으로 처리하면 오류가 생기기 마련입니다. 엑셀 FIND 함수는 이런 반복 작업을 자동화해주는 핵심 텍스트 함수로, LEFT·MID·RIGHT 등 추출 함수와 조합하면 실무 생산성을 크게 높일 수 있습니다. 이 글에서는 FIND 함수의 구조부터 실전 예제, SEARCH 함수와의 차이점, 그리고 오류 처리 방법까지 단계적으로 정리합니다.

FIND 함수 기본 구조

FIND 함수는 특정 문자(열)가 문자열 내 몇 번째 위치에 있는지를 숫자로 반환하는 함수입니다. 위치는 맨 왼쪽 첫 글자를 1로 계산하며, 띄어쓰기도 한 글자로 취급합니다.

기본 구문은 다음과 같습니다:

“`

text

=FIND(find_text, within_text, [start_num])

“`

  • `find_text` — 찾으려는 문자 또는 문자열 (필수, 텍스트는 큰따옴표로 감쌈)
  • `within_text` — 검색 대상이 되는 원본 텍스트 또는 셀 참조 (필수)
  • `start_num` — 검색을 시작할 위치 (선택, 생략 시 기본값 1)

중요한 특성 두 가지:

  • 대소문자를 구분합니다. `=FIND(“Apple”, …)` 와 `=FIND(“apple”, …)` 는 서로 다른 결과를 반환합니다
  • 찾는 문자가 존재하지 않으면 `#VALUE!` 오류를 반환합니다

LEFT·MID·RIGHT와 조합한 실전 예제

FIND 함수의 진가는 단독 사용보다 문자 추출 함수와 조합할 때 발휘됩니다. 위치 숫자를 구하면 이를 기준으로 원하는 부분만 잘라낼 수 있습니다.

예제 1 — 이메일에서 ID와 도메인 분리

`user@example.com` 에서 `@` 기호 위치를 찾아 ID와 도메인을 각각 추출합니다.

“`

text

[A2] = user@example.com

@ 위치 찾기: =FIND(“@”, A2) → 5

ID 추출 (LEFT): =LEFT(A2, FIND(“@”,A2)-1) → user

도메인 추출(MID): =MID(A2, FIND(“@”,A2)+1, LEN(A2)-FIND(“@”,A2)) → example.com

“`

예제 2 — 주소에서 시/구 분리

`서울특별시 강남구 테헤란로` 같은 주소에서 첫 번째 공백을 기준으로 시와 나머지를 나눌 수 있습니다.

“`

text

시 추출: =LEFT(A2, FIND(” “, A2)-1) → 서울특별시

나머지: =MID(A2, FIND(” “, A2)+1, LEN(A2)) → 강남구 테헤란로

“`

예제 3 — 시작 위치 지정으로 두 번째 문자 찾기

`banana`에서 두 번째 `a`의 위치를 찾으려면 `start_num`을 활용합니다.

“`

text

=FIND(“a”, “banana”, 3) → 4 (세 번째 문자부터 검색 시작)

“`

FIND vs SEARCH — 어떻게 다른가

두 함수는 구문 구조가 동일하지만 작동 방식에 차이가 있습니다.

항목FINDSEARCH
대소문자 구분구분함구분 안 함
와일드카드(`*`, `?`) 사용불가가능
주요 활용정확한 위치 검색유연한 패턴 검색

영문 데이터에서 대소문자를 정확히 구별해야 한다면 FIND, 대소문자 무관하게 검색하거나 `*`·`?` 와일드카드가 필요하다면 SEARCH를 사용합니다.

IFERROR로 오류 처리하기

찾는 문자가 없을 때 `#VALUE!`가 그대로 표시되면 보고서 가독성이 떨어집니다. `IFERROR`로 감싸면 오류 대신 원하는 값을 출력할 수 있습니다.

“`

text

=IFERROR(FIND(“@”, A2), “이메일 아님”)

“`

이 수식은 `@`가 없는 셀에서 오류 대신 “이메일 아님” 이라는 텍스트를 반환합니다. IF 함수와 결합하면 특정 문자 포함 여부를 조건 판단에도 사용할 수 있습니다:

“`

text

=IF(IFERROR(FIND(“삼성”, A2), 0)>0, “삼성 관련”, “기타”)

“`

주의사항 정리

실무 적용 전 반드시 확인해야 할 사항들입니다:

  • 텍스트 인수는 반드시 큰따옴표(” “) 로 감싸야 합니다
  • FIND는 찾는 문자열의 첫 번째 등장 위치만 반환합니다
  • `start_num`에 0 또는 음수를 입력하면 오류가 발생합니다
  • 빈 문자열(`””`)을 `find_text`로 입력하면 `start_num` 값을 그대로 반환합니다
  • 한글도 영문과 동일하게 글자 수 기준으로 위치를 계산합니다 (바이트 기준은 FINDB 사용)

함께 읽어보면 좋은 글