엑셀에서 텍스트 데이터를 다루다 보면 특정 문자나 단어가 셀 내부에서 몇 번째 위치에 존재하는지 파악해야 하는 상황이 자주 발생합니다.
이러한 연산은 심플한 조회부터 데이터 분류, 로그 분석, 코드 파싱 등 다양한 응용으로 연결됩니다.
대표적으로 활용되는 함수가 FIND와 SEARCH이며 둘 모두 위치 값을 숫자로 반환하지만, 대소문자 구분 여부와 와일드카드 지원같이 동작 방식에 중요한 차이가 존재하는데요.
이 글에서는 두 함수의 개념을 비교하고 실제 업무에서 어떤 기준으로 선택해야 하는지 설명합니다.
먼저 개념부터: FIND와 SEARCH는 같은 목적의 함수지만 방식이 다르다
엑셀의 FIND 함수와 SEARCH 함수는 모두 텍스트 데이터를 분석하는 과정에서 위치 정보를 추출하는 데 사용되는 문자열 처리 함수입니다.
두 함수는 공통적으로 검색 대상 문자열을 포함한 전체 텍스트를 입력받아 해당 문자열이 등장하는 위치를 1 이상의 정수값으로 반환합니다.
만약 해당 문자열이 존재하지 않을 경우 #VALUE! 오류가 발생한다는 점도 동일한데요.
하지만 검색 과정에서 대소문자를 어떻게 처리하는지, 패턴 검색을 지원하는지 여부에 따라 결과가 달라질 수 있으므로 정확한 함수 동작을 이해하는 것이 중요합니다.
데이터 정규화나 텍스트 기반 분류 작업에서는 이러한 차이가 최종 결과를 크게 좌우할 수 있습니다.
FIND 함수 – “대소문자 구분 + 정확 검색”
(출처:쉬운엑셀)
FIND 함수는 텍스트 검색 시 대소문자를 구분하므로 같은 알파벳이라도 형태가 다르면 서로 다른 문자로 인식합니다.
또한 공백 포함 문자열에서도 정확한 위치를 반환하므로 정밀한 코드 파싱이나 규칙 기반 검증에서 유용한 함수입니다.
특히 파일명, 제품 코드, 시리얼 넘버 등 대소문자 자체가 정보인 데이터에서는 FIND를 쓰는 것이 일반적이며 오류 발생 시 조기 감지가 가능하다는 장점도 있는 강력한 함수인데요.
예를 들어 “AB-001″과 “ab-001″은 서로 다른 값으로 처리되는데, 이는 국가 코드나 시스템 구분자를 판별할 때 중요한 요소가 될 수 있어요.
FIND 함수는 또한 와일드카드를 지원하지 않기 때문에 패턴 기반 검색이 불필요하고 정확한 텍스트 일치가 요구되는 환경에서 사용됩니다.
함수 구조
=FIND(find_text, within_text, [start_num])
FIND 함수 예시
A1 = “Server_ERROR_2024”
=FIND(“S”, A1) → 1
=FIND(“ERROR”, A1) → 8
=FIND(“error”, A1) → #VALUE!
대소문자 차이만으로도 결과가 달라짐을 확인할 수 있습니다.
SEARCH 함수 – “대소문자 무시 + 와일드카드 지원”
(출처:신사고찰)
SEARCH 함수는 대소문자를 구분하지 않는 유연한 함수입니다. 즉 “ERROR”, “error”, “Error” 모두 동일한 문자열로 간주하고 검색합니다.
또한 *, ? 같은 와일드카드 패턴을 사용할 수 있어 가변 문자열이 포함된 데이터 분석에서 활용도가 매우 높다는 점이 큰 장점인데요.
사용자 입력 기반 검색, 로그 파일 내 오류 문자열 탐지, 파일 확장자 필터링 등은 SEARCH의 대표적인 적용 사례로 꼽혀요.
대소문자에 민감하지 않은 출력 환경에서는 SEARCH가 데이터 처리 단계를 단축시킬 수 있으며, 문자열 패턴이 일정하지 않은 데이터에서도 효과적입니다.
SEARCH는 FIND와 동일하게 위치 값을 반환하지만 보다 관대하게 검색하기 때문에 조건 필터링과 전처리에 적합한 특성을 갖습니다.
함수 구조
=SEARCH(find_text, within_text, [start_num])
SEARCH 함수 예시
B1 = “Output_saved_SUCCESS”
=SEARCH(“success”, B1) → 15
=SEARCH(“SUCCESS”, B1) → 15
=SEARCH(“*SUCCESS”, B1) → 1
대소문자 무시와 와일드카드 기능이 모두 확인됩니다.
핵심 차이 비교 – 목적은 동일하지만 기준은 다르다
(출처:오빠두엑셀)
두 함수는 모두 문자열 내 위치를 반환하지만, “문자를 보는 기준”이 서로 다릅니다.
FIND는 정확도 중심이며 SEARCH는 유연성 중심으로 보시면 되는데요.
FIND는 대소문자 변경으로 다른 값을 처리하는 데이터에서 유효하며, SEARCH는 입력이 일정하지 않은 웹 텍스트나 사용자 기반 데이터에서 적합합니다 두 함수는 같은 목적이지만 검색 순서와 방식에서 차이가 발생한다는 점 알아주세요.
이런 차이가 실무에서는 필터링 정확도, 오류 검출, 패턴 매칭 기능에 직접적인 영향을 주기 때문에 암기보다 목적 기반 선택이 중요합니다.
비교 요약표
| 항목 | FIND | SEARCH |
| 대소문자 구분 | O | X |
| 와일드카드 지원 | X | O |
| 검색 방식 | 엄격(정확 매칭) | 유연(대비 매칭) |
| 오류 시 반환 | #VALUE! | #VALUE! |
| 대표 용도 | 코드 파싱 | 텍스트 검색 |
실무에서 어떻게 선택할까? (실제 시나리오 기반)
(출처:엑셀레이터)
실무에서 발생할 수 있는 시나리오별로 알아보겠습니다.
시나리오 1: 서버 로그에서 오류 메시지 찾기
로그 파일은 대소문자 혼합, 특수문자 포함, 형식 불일치가 빈번한데요. 따라서 “error”, “ERROR”, “Error” 등 다양한 형태를 모두 포괄해야 하므로 SEARCH가 적합합니다.
=ISNUMBER(SEARCH(“error”, A1))
시나리오 2: 제품 코드 파싱 및 국가 코드 분리
정규화된 코드 데이터는 대소문자 구분이 정보에 해당하는 경우가 많은데, 이때는 FIND가 요구됩니다.
=LEFT(A1, FIND(“-“, A1)-1)
시나리오 3: 파일 이름에서 확장자 추출
파일 이름은 다양하게 대소문자가 혼재할 수 있어 FIND가 안정적입니다.
=RIGHT(A1, LEN(A1)-FIND(“.”, A1))
마무리
FIND 함수는 대소문자를 구분하고 정확한 매칭을 목표로 하는 함수이며, SEARCH 함수는 대소문자를 무시하고 와일드카드 기반 검색을 지원하는 함수로 정리할 수 있어요.
두 함수는 문자열 위치 반환이라는 동일 목적을 갖지만, 검색 기준이 다르므로 데이터 구조와 활용 목적에 맞게 선택해야 합니다.
텍스트 기반 처리 업무에서 두 함수의 특성을 이해하면 오류 예방과 데이터 처리 효율이 크게 향상될 수 있는데요.
오늘 엑셀 파일 처리에서는 두 함수를 활용해서 업무 효율화를 완성해보세요.
오늘의 엑셀 공부를 마치셨다면, 우노 카드게임을 방문하셔서 재미있는 카드게임을 알아보셔도 좋을 것 같습니다.









