[ 엑셀 Tip ] if함수를 사용한 문자를 포함하는 셀 찾기( feat. search 함수 )

2022. 12. 6. 19:49Excel Tip/함수 ( Function )

728x90
반응형

if함수를 활용하여 문자를 포함하는 셀 값을 찾아보도록 하겠습니다.

가끔 데이터를 보면 안에 길게 들어가 있는 것을 볼 수 있는데 정확한 어떤 문장은

"오늘_기분_최고", "최고_오늘_기분" 이렇게 되어 있으면 중첩 if문을 사용하게 되어 수식이 복잡하게 됩니다.

이때 search 함수를 사용하면 해당 문자를 포함하는 값을 찾아낼 수가 있습니다.

데이터를 준비


"분이"라는 단어가 들어가는 셀을 찾아 보도록 하겠습니다.

SEARCH( "분이", A3   )
찾아줘 "분이"라는 단어가 있는 위치를 A3셀에서

 

여기서 결과가 2가 나오는데

1 2 3

기분이를 나누면 각 글자의 위치가 되고 여기에 "분이"라는 단어는 2번째부터 시작하기 때문에 2를 반환합니다.

그럼 아래까지 값을 채워보도록 하겠습니다.


 

결과를 보시면 "분이"라는 단어가 A3셀과 기분이, A6셀의 분이기 2개가 있는 것을 확인 할 수 있습니다.

자세히 보니 문자가 포함되는 셀은 숫자가 나오고 포함되지 않는 것을 값이 없는 결과를 나태내고 있습니다.

그럼 if문을 사용해서 값이 있는 곳은 A셀을 가져오고 값이 없으면 공백을 출력하면 결과가 나올 것 같습니다.


iserror함수를 사용해서 논리값을 구해 줍니다. 에러가 있는 곳은 True를 반환하고 값이 있으면 False를 반환하는 것을 볼 수 있습니다.

iserror값이 참이면 ""( 공백 )을 반환하고 거짓이면 A셀을 반환해서 원하는 결과를 얻을 수 있습니다.

수식을 다시 정리를 하면 아래와 같이 볼 수 있습니다.

반응형
=IF( ISERROR ( SEARCH( "분이", A3   ) ) "", A3   )
만약 오류가 있으면 ( 찾아서 "분이"의 위치 A3 셀에서 ) 공백을 아니면 A3을

다음과 같이 정리가 가능합니다.

 

분이기가 아니고 분위기가 아니냐고 오타를 지적하시는 분이 있다면 알고 있지만 예시를 위한 것이라고 답변드립니다.


 ※ 참고사항 

너무너무라는 단어가 2번 들어가 있을 때 search 함수 사용 방법입니다.
1 2 3 4
각 글자의 위치는 위에 테이블과 같습니다.

search 함수의 파라미터는 3개인데 마지막을 입력하지 않으면 디폴트로 1을 반환하게 되어 있습니다.
( 순서는 왼쪽에서부터 스캔하기 시작하는데 이때는 1번의 너무의 숫자를 반환하게 됩니다 )

그리고 여기에 숫자를 입력하면 왼쪽에서부터 그 수에서 시작하는 곳에서 스캔을 시작합니다.

search( "너무", A4, 1 ) search( "너무", A4, 2 )

그럼 2번의 무부터 스캔을 하게 되고 그다음에 나오는 3번의 너무의 숫자를 반환합니다.

728x90
반응형