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

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

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

작성자 :
오빠두엑셀
최종 수정일 : 2021. 09. 03. 10:59
URL 복사
메모 남기기 : (68)

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

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

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

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

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 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 41 투표
게시글평점
68 댓글
Inline Feedbacks
모든 댓글 보기
68
0
여러분의 생각을 댓글로 남겨주세요.x