5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

SEARCH 함수

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

엑셀 SEARCH 함수는 문자열에서 특정 텍스트의 시작 위치를 찾는 함수입니다.

SEARCH 함수 예제 미리보기
예제 미리보기 크게 보기

인수 설명

=SEARCH(찾을문자, 문자열, [시작지점])
인수구분설명
찾을문자 필수
검색할 텍스트입니다.
문자열 필수
텍스트를 검색할 문자열입니다.
시작지점 선택
문자열에서 검색을 시작할 위치입니다.
  •  '4'를 입력하면, 4번째 문자부터 검색을 시작합니다. 기본값은 '1' 입니다.
예제 시트
D2=SEARCH(B2,A2,C2)
A
B
C
D
E
1
문자열
찾을문자
시작지점
SEARCH
2
서울특별시
특별
1
3
3
서울특별시 서초구
4
7
4
서울특별시 마포구
1
1
5
서울특별시 서대문구
서대문
1
7
6
문자열과 검색 시작점을 달리해 찾는 문자가 처음 나타나는 위치를 비교합니다.

함수 개요

SEARCH 함수는 문자열에서 특정 텍스트의 시작 위치를 반환하는 함수입니다. FIND 함수 와 비슷하지만, 대소문자를 구분하지 않고 와일드카드 문자(*,?)를 사용할 수 있어 더욱 유연한 검색이 가능합니다.

=SEARCH("app*","this is apple tree")9를 반환합니다.

유사한 함수로 FIND 함수 는 대소문자를 구분하고 와일드카드를 사용할 수 없어 보다 엄격하게 텍스트를 검색할 수 있습니다. FIND 함수와 SEARCH 함수의 주요 차이점은 다음과 같습니다.

함수 대소문자구분 와일드카드 사용
FIND 함수 구분함 사용 불가
SEARCH 함수 구분하지 않음 사용 가능

SEARCH 함수는 다른 함수와 함께 사용할 때 더욱 강력한 기능을 발휘합니다. 예를 들어, ISNUMBER 함수 와 함께 사용하여 문장에서 '특정 단어의 포함 여부'를 확인할 수 있습니다.

=ISNUMBER(SEARCH(단어,문장))단어가 문장에 포함된 경우 TRUE를 반환합니다.
=IF(ISNUMBER(SEARCH(단어,문장)),"포함","미포함")단어가 문장에 포함된 경우 "포함"을 출력합니다.

단어 포함 여부 공식의 자세한 동작 원리와 사용 예제는 아래 기초 입문 강의에서 자세히 정리했으니 참고하세요!👇

SEARCH 함수 간단 예제

1
이메일 주소의 도메인 확인하기

이메일 주소에서 특정 도메인 여부를 판단해야 할 경우, 다음과 같이 함수를 사용할 수 있습니다.

=ISNUMBER(SEARCH("@gmail.com",이메일))도메인이 gmail.com일 경우 TRUE를 반환합니다.
2
주문번호에서 제품코드 추출하기

여러 구분기호로 나뉘어 작성된 제품 코드가 있을 때, 아래 함수를 사용하면 제품코드의 특정 부분을 추출할 수 있습니다.

=LEFT(제품코드,SEARCH("-",제품코드)-1)
=LEFT(제품코드,4-1)
=LEFT(제품코드,3)
="ORD"
3
파일명에서 확장자 변경하기

REPLACE 함수를 함께 사용하면, 문자열에서 특정 부분만 찾아 변경할 수 있습니다. 예를 들어, 다음과 같이 함수를 작성하면, .확장자가 ".pdf" 인 파일을 ".docx"로 변경할 수 있습니다.

=REPLACE(경로,SEARCH(".pdf",경로),4,".docx")파일 경로에 .pdf가 있을 경우, pdf 확장자를 .docx로 변경합니다. 예: "파일.pdf" → "파일.docx"

자주 묻는 질문

1)SEARCH 함수와 SEARCHB 함수의 차이점은 무엇인가요?

SEARCHB 함수 는 DBCS 언어(한국어, 일본어, 중국어)가 기본 언어일 경우 사용하는 함수입니다. SEARCHB 함수는 바이트 기준으로 찾을문자의 위치를 반환합니다. 한국어의 경우 문자당 2바이트를 사용합니다.

=SEARCH("강남", "서울특별시 강남구")
'서(1) + 울(1) + 특(1) + 별(1) + 시(1) + 공란(1) 으로 = 7을 반환합니다.
=SEARCHB("강남", "서울특별시 강남구")
'서(2) + 울(2) + 특(2) + 별(2) + 시(2) + 공란(1) 으로 = 11을 반환합니다.

그 외 주의사항

찾으려는 텍스트가 문자열에 없거나, 시작위치가 문자열의 길이보다 크면 #VALUE! 오류를 반환합니다.

SEARCH 함수는 영문검색시 대/소문자를 구분하지 않습니다.

시작위치가 0보다 작으면 #VALUE! 오류를 반환합니다.

SEARCH함수의 찾을 문자에는 와일드카드를 사용 할 수 있습니다.

=SEARCH(" *밭","한국과수원 사과밭 사과나무")
'"밭"으로 끝나는 단어를 검색합니다. * 앞에 띄어쓰기를 포함해서 검색하는 것을 주의해주세요.
'"사과밭"의 시작위치인 '6'을 반환합니다.

댓글 4

댓글 4
5 (3개 평가)
질문있어요
질문있어요 2021.11.10 03:55
=SEARCH("*밭","한국과수원 사과밭 사과나무")
여기서 와일드카드 *을 사용하면 반환값이 7이 나와야 한다는것까지는 이해를 했는데요, 실제로 엑셀에서 와일드카드 *을 사용해서 함수를 입력하면 모든 값이 1로 나옵니다.
위 예제를 입력해도 7이 아닌 1을 반환하고, =SEARCH("*나무","한국과수원 사과밭 사과나무") 를 입력해도 1을 반환합니다.
와일드카드 위치를 바꿔서 =SEARCH("사과*","한국과수원 사과밭 사과나무")를 입력해도 1을 반환하는데, 왜 그런걸까요??
저는 mac의 엑셀2021 버전을 사용합니다.
오빠두엑셀
오빠두엑셀 작성자 2021.11.11 19:50
안녕하세요?^^
죄송합니다. 글에 띄어쓰기가 누락되어 있었습니다.
"*밭"으로 검색하면, 밭 앞에 모든 문자열이 들어가기 때문에 1이 반환됩니다.
" *밭" 으로 검색해보시겠어요? 밭으로 시작되는 단어인 사과밭이 시작하는 위치인 6이 반환될겁니다 :)
강민준🤗
강민준🤗 2024.08.05 12:41
좋은 강의 감사합니다🙇‍♂️
일잘러된다
일잘러된다 2025.05.21 16:54
어렵네요. 감사합니다.
스크랩 완료