회원가입

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기

SEARCH() + IFERROR() 함께 사용하기

Profile
맥노턴

SEARCH() + IFERROR()

 

(CASE)

"사과"라는 단어가 포함되어 있는지 찾아서 1과 0으로 치환하려는데, 아래와 같은 문제가 생겼다.

  A B C 문제
1 이름 과일 사과 C열에 사용된 수식은 아래와 같음
2 김현동 초록사과 1

=IF(SEARCH("사과",B2,1)>0,1,0)

3 김동현 #VALUE!

=IF(SEARCH("사과",B3,1)>0,1,0)

 

1. B3의 [과일] 셀을 검색하여 "사과"라는 낱말을 찾고, 몇 번째 글자에서 시작되는지 위치를 찾는다.

=SEARCH("사과",B3,1)

=3

2. 만약(IF), "사과"라는 낱말이 위치하는 곳이 0보다 크다면("사과"라는 낱말이 어딘가에 있다면), 셀 값에 1을 넣는다.

=IF(SEARCH("사과",B3,1)>0, 1)

=1

3. 하지만(ELSE), 0보다 크지 않다면, "사과"라는 낱말이 위치하지 않으므로, "셀 값에 0을 넣고 싶었다"

=IF(SEARCH("사과",B3,1)>0, 1, 0)

=#VALUE!

 

SEARCH() 에서 발생된 #VALUE! 때문에, IF()의 FALSE 조건인 0이 들어가지 못하고, 대신 에러값 #VALUE! 이 들어간 상황

 

 

 

(HINT)

IFERROR() 함수

=IFERROR({오류셀,수식}, "오류처리")

=오류처리

 

=IFERROR(B1234, "확인이 필요합니다")

=확인이 필요합니다

 

=IFERROR(SEARCH("사과",B3,1), 0)

=0

 

 

 

(ANSWER)

IFERROR() 함수로 SEARCH()에서 발생한 에러를 핸들링한다.

  A B C 문제
1 이름 과일 사과 C열에 사용된 수식은 아래와 같음
2 김현동 초록사과 1

=IF(IFERROR(SEARCH("사과",B2),0)>0,1,0)

3 김동현 0

=IF(IFERROR(SEARCH("사과",B3),0)>0,1,0)

 

3. 먄약, 0보다 크지 않다면, "사과"라는 낱말이 위치하지 않으므로, 셀 값으로 0을 넣는다.

=IF(SEARCH("사과",B3,1)>0, 1, 0)

=#VALUE!

4. SEARCH()에서 발생된 에러를 0으로 치환한다. (왜? 찾을 수 없으면 어차피 0이고, 찾았다면 1 이상일테니까)

=IF(IFERROR(SEARCH("사과",B3,1), 0)>0, 1, 0)

=0

원하는 결과를 얻었다.

 

 

 

거짓, 그리고 에러가 있다.

끄~읕~~

Profile
맥노턴
레벨 30
569311/686490
81%
McNorton & Education Lab.
Director
댓글
0
댓글 쓰기
권한이 없습니다.

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기