IF 함수 특정 문자 포함 조건 검색 방법 :: 엑셀 함수 공식

특정 문자 포함여부를 IF 함수 조건으로 검색하는 엑셀 함수 공식의 동작원리와 실전 예제를 알아봅니다.

홈페이지 » IF 함수 특정 문자 포함 조건 검색 방법

IF 함수 특정 문자 포함 조건 검색방법 :: 엑셀 공식

IF 함수 특정문자 포함 검색 목차 바로가기
함수 공식
=IF(ISNUMBER(SEARCH(찾을문자,셀)),출력값,"")
인수 설명

IF 텍스트 포함 여부 공식 인수 설명

  • 찾을문자 : 특정 문자가 포함 된 셀 또는 특정 문자입니다.
  • : 문자가 포함되어 있는지 여부를 검색할 셀입니다.
  • 출력값 : 셀에 찾을문자가 포함되어 있을경우 출력할 값입니다.
사용예제
IF 함수 특정 문자 포함 여부 사용예제 GIF
ISNUMBER/SEARCH 조합으로 IF 함수 특정 문자 포함여부 검색이 가능합니다.

예제파일 다운로드

IF 함수 특정문자 포함 공식 알아보기

공식 설명

IF 함수를 사용해 셀과 특정 문자 일치 여부 검색은, 평소 자주 사용하는 기능이고 방법 또한 아주 간단합니다. 예를 들면, 아래와 같은 방식으로 일치 여부 검색을 손쉽게 할 수 있습니다.

=IF(셀="사과","O","X")
IF 함수 문자 일치
IF 함수의 정확히 일치하는 조건 검색은 아주 간단합니다.

하지만, 특정 문자를 포함하는 경우를 검색하려면 어떻게 해야 할까요? IF함수와 와일드카드(*,?,~)를 응용하면 특정 문자 포함 조건을 검색할 수 있을까요?

=IF(셀="*사과*","O","X")
IF 함수 부분일치 지원 안됨
IF 함수는 와일드카드를 사용한 부분일치 검색을 지원하지 않습니다.

위 그림처럼 IF 함수는 와일드카드를 사용하여 특정 문자 포함 여부를 검색할 수 없습니다. 즉, 부분일치 검색을 지원하지 않는데요.

SUMIF 함수는 어떨까요? SUMIF 함수는 와일드카드를 사용하여 특정 문자를 포함하는 조건별 합계를 구할 수 있을까요?

SUMIF 함수 특정 문자 포함 합계 계산
SUMIF 함수는 특정 문자를 포함한 조건, 와일드카드 검색을 지원합니다.

그렇습니다. SUMIF 함수를 사용하면 와일드카드를 사용하여 특정 문자를 포함하는 조건별 합계를 계산할 수 있습니다.  그렇다면 왜, IF 함수는 와일드카드 사용이 안되고, SUMIF 함수는 사용할 수 있을까요? 이유는 바로 인수 입력 방식에 있습니다.

IF 함수와 SUMIF 함수 차이
SUMIF 함수와 IF 함수는 조건으로 들어가는 인수의 입력방식이 다릅니다.

IF 함수는 "조건범위=조건"으로 연산자를 사용한 조건문이 바로 인수로 입력되는 반면, SUMIF 함수는 조건범위와 조건을 별도의 인수로 분리하여 함수를 입력합니다.

따라서 함수의 동작 원리상, SUMIF 함수는 와일드카드를 사용한 특정 문자 포함, 부분일치 검색을 사용할 수 있습니다. 와일드카드를 사용한 다양한 조건 검색방법은 아래 관련포스트에서 자세히 설명드렸습니다.

공식의 동작원리
  1. 특정 문자 포함여부를 검색합니다.
    = SEARCH("사과","맛있는 사과주스")
    '// '사과' 라는 문자가 포함되어 있으므로 '사과' 단어의 시작지점인 =5를 반환합니다.

    = SEARCH("배", "맛있는 사과주스")
    '// '배' 라는 문자가 포함되어 있지 않으므로, #VALUE! 오류를 반환합니다.
  2. ISNUMBER 함수로 특정 문자 포함여부를 한번 더 필터링합니다.
    SEARCH 함수는 셀 안에 특정 문자가 포함되어 있으면 숫자를 반환하고, 그렇지 않을 경우 #VALUE! 오류를 반환합니다. 이를 ISNUMBER 함수로 필터링 합니다.

    = ISNUMBER(SEARCH("사과","맛있는 사과주스"))
    = ISNUMBER(5)
    = TRUE

    만약 셀안에 특정 문자를 포함하고 있지 않을 경우, ISNUMBER 함수는 FALSE를 반환합니다.

    = ISNUMBER(SEARCH("배","맛있는 사과주스"))
    = ISNUMBER(#VALUE!)
    = FALSE
  3. IF 함수로 참/거짓 출력값을 지정합니다.
    = IF(ISNUMBER(SEARCH("사과","맛있는 사과주스")),"포함","")
    = IF(TRUE, "포함", "")
    = "포함"

자주묻는 질문

Q1. 특정 문자 여러개 포함 여부를 조건으로 검색하고 싶어요

OR 함수를 응용하여 특정 문자 여러개를 포함하는 조건을 검색할 수 있으며, 공식은 아래와 같습니다.

{ =IF(OR(ISNUMBER(SEARCH(찾을문자1,셀)),ISNUMBER(SEARCH(찾을문자2,셀))),출력값,"") }

예를 들어 아래와 같이 응용할 수 있습니다.

=IF(OR(ISNUMBER(SEARCH("RS",B7)),ISNUMBER(SEARCH("PP",B7))),"포함","")
'// 셀에 "RS" 또는 "PP"를 포함할 경우 "포함" 이라는 텍스트를 출력합니다.
IF 함수 여러개 문자 포함 응용 공식
OR 함수를 응용하여 여러개의 특정문자를 포함하는 조건을 검색할 수도 있습니다.
Q2. 특정 문자 여러개 포함 여부를 범위로 넣어서 검색하고 싶어요

SEARCH 함수의 첫번째 인수를 범위로 입력 할 수도 있습니다. 단 찾을문자가 입력된 범위가 세로방향일 경우 TRANSPOSE 함수를 사용하여 범위를 입력해야 합니다.

아래 공식을 이용하면 범위 내 찾을문자를 하나라도 포함할 경우 출력값을 반환합니다.

엑셀 특정 문자 포함 여러개 인수
셀의 값이 "PP" 또는 "ST" 를 포함할 경우 "포함"을 반환합니다.

범위가 세로방향일 경우

{ =IF(OR(ISNUMBER(SEARCH(TRANSPOSE(찾을문자범위),셀))),"출력값","") }

범위가 가로방향일 경우 

{ =IF(OR(ISNUMBER(SEARCH(찾을문자범위,셀))),"출력값","") }

만약 범위 내 찾을 문자를 '모두' 포함하는 경우 출력값을 반환하려면 OR 함수를 AND 함수로 변경합니다.

링크 : MS 홈페이지 IF 함수 상세설명

5 19 votes
게시글평점
현재 페이지 댓글알림 신청
알림 설정
guest
31 Comments
Inline Feedbacks
View all comments
Robin
Robin
2020년 3월 15일 11:26 오전
게시글평점 :
     

최고최고

갓빠두형님최고
갓빠두형님최고
2020년 3월 26일 7:19 오전
게시글평점 :
     

항상 감사드립니다!

레드불
레드불
2020년 3월 29일 5:43 오후
게시글평점 :
     

감사합니다.
항상 잘 배우고있습니다. 행복하세요

호야
호야
2020년 4월 3일 11:34 오전
게시글평점 :
     

잘보고 갑니다.

토토가
토토가
2020년 4월 4일 5:22 오전
게시글평점 :
     

나이스하네요~~^^

피로엔박카스
피로엔박카스
2020년 4월 13일 9:05 오전
게시글평점 :
     

유용하게 잘쓰고 있어요~

ky0930
ky0930
2020년 4월 26일 8:20 오후
게시글평점 :
     

여기 있는 내용을 모아서 책으로 만들어서 멋진 책이 되겠네요.

새신랑
2020년 4월 29일 2:39 오후
게시글평점 :
     

최고 입니다!!

쭌
2020년 5월 4일 3:47 오후
게시글평점 :
     

정말 멋진 팁이네요!

chihyun****
2020년 5월 20일 11:09 오후
게시글평점 :
     

정말 필요한 내용이 너무 많네요
감사합니다~

DJLTKDN
DJLTKDN
2020년 5월 21일 8:26 오후
게시글평점 :
     

정말 감사합니다

store-1
store-1
2020년 6월 30일 2:40 오전
게시글평점 :
     

하나의 셀에 있는 특정문자의 개수를 조건으로 설정하고 싶은데 어떻게 수식을 걸어야 하나요? ㅠㅠ 쇼핑MY>장바구니(네이버쇼핑) 광고>쇼핑검색광고>쇼핑몰상품형 광고>쇼핑검색광고>쇼핑몰상품형>상품찜 위에서 ">"가 1번 있는 경우,2번 있는 경우,3번 있는 경우의 조건을 설정해야 하는데 어떻게 해야… 더보기 »

Elsa
Elsa
2020년 7월 2일 12:27 오전

지나가다가 저도 해봤는데 잘못된 수식이라고 나오네요 ㅠㅠㅠ

Elsa
Elsa
2020년 7월 2일 12:24 오전
게시글평점 :
     

안녕하세요. 오늘도 또 많은 도움을 얻고갑니다 선생님 ~!
제가 찾던거네요 !

lit4aki
lit4aki
2020년 7월 8일 7:11 오후
게시글평점 :
     

안녕하세요, 해당 수식 활용하려는데 1번 인수에서 범위로 설정하면 작동이 안되네요 ㅠ 하나의 문자 만이 아니라 여러 문자 리스트를 포함하는지 여부를 확인할 수 있는 방법은 없을까요?

lit4aki
lit4aki
2020년 7월 9일 10:56 오전

와 진심 최고에요...! 정말 감사합니다!

이상민
이상민
2020년 7월 17일 7:03 오후
게시글평점 :
     

넘 좋습니다

이상민
이상민
2020년 7월 17일 7:31 오후
게시글평점 :
     

Q2. 특정 문자 여러개 포함 여부를 범위로 넣어서 검색하고 싶어요--> 여기서 만약에 한글 문서이면... 완전히 일치할 때문 검색이 되던데요. 만약에 특정 단어가 들어가 있으면 검색하는 것으로 한다면 ... 이 때는… 더보기 »

이상민
이상민
2020년 7월 20일 2:11 오후
IF(OR(ISNUMBER(SEARCH(TRANSPOSE(찾을문자범위),셀))),"출력값","")
저는 다른 것은 다되는데, 범위를 입력하는 것은...이것 그대로 입력하면 안되던데... search() 안의 첫번째 인수가 범위면 안되는 것 같습니다 ㅠ



=IF(OR(ISNUMBER(SEARCH(TRANSPOSE(찾을문자범위),셀))),"출력값","")



이상민
이상민
2020년 7월 21일 7:08 오후

감사합니다!! 배열함수를 말씀하시는것이지요? 배열함수 찾아보고 했는데... 안됩니다. '셀 부분'이 가장 '위에 셀'만 참조해서, 범위로 지정해봤는데 그래도 마찬가지로 안되네요 ㅠㅠ
좀 더 찾아보고 연구해보겠습니다.

호야
호야
2020년 8월 11일 11:57 오후
게시글평점 :
     

IF(ISNUMBER(SEARCH("배","맛있는 사과주스")),"포함","")
IF(TRUE, "포함", "")
= "포함"
오타발견요 "배"가 "사과"로 바뀌는 것 맞죠?

민서압빠
민서압빠
2020년 8월 28일 1:22 오후
게시글평점 :
     

감사합니다..
덕분에 한번에 해결~~ㅎㅎ

김빵나
김빵나
2020년 9월 18일 1:12 오전
게시글평점 :
     

SEARCH의 두번째 인수인 [셀]을 범위로 지정할 수도 있을까요? A2 : AD9999 중에서 [찾을문자]를 포함한 값을 모두 나열하고 싶습니다ㅠㅠ 아, 그리고 찾을문자를 셀위치(예를들면 $C$20)로 해도 될까요? 저의 경우는 수식이 의도대로 되지… 더보기 »

김빵나
김빵나
2020년 9월 19일 10:31 오전

링크해주신 페이지 엄청 여러번 보고 적용해서 몇달째 잘 쓰고 있었습니다! 차근차근 아는게 아니라서 띄엄띄엄 필요한 기능만 찾아서 겨우 쓰다보니 이렇게 응용(?)이 될 거라곤 생각도 못했네요ㅠㅠㅠ 친절한 설명 감사드립니다!! 좋은 하루… 더보기 »

31
0
여러분의 생각을 댓글로 남겨주세요.x