구글시트에서 데이터를 분류하다 보면, 셀 값이 특정 단어와 정확히 일치할 때뿐만 아니라 특정 문구가 포함되어 있을 때 값을 변경해야 하는 경우가 많습니다.

실무에서 조건문(IF)을 작성하다 보면 처음에는 = (일치) 연산자를 사용했다가, "아차, 이 단어가 들어간 건 다 바꿔야지!" 하고 당황하게 되는데요.

 

오늘은 특정 문구가 포함된 셀을 찾아 원하는 값으로 변환하는 수식 해결 방법을 정리해 보겠습니다.


1. 문제 상황: "완전 일치"가 아닌 "포함" 조건이 필요할 때

기존에 구상하셨던 수식은 다음과 같았습니다.

=IFERROR(IF(a1=0,, IF(a1="홍길동","홍길동",IF(a1="둘리","둘리","깐따삐아"))))

 

이 수식의 문제는 a1="둘리" 부분이 값이 토씨 하나 틀리지 않고 똑같아야만 작동한다는 점입니다. "둘리_신입"이나 "귀여운 둘리" 같은 문구는 모두 "깐따삐아"로 분류되어 버리죠.


2. 해결 방법: SEARCH 함수와 ISNUMBER의 조합

특정 문구가 포함되었는지 확인하려면 SEARCH 함수를 활용해야 합니다.

 

<수정된 수식>

=IFERROR(IF(a1=0,, IF(a1="홍길동","홍길동", IF(ISNUMBER(SEARCH("둘리", a1)), "둘리", "깐따삐아"))))

<핵심 원리>

  • SEARCH("둘리", A1): 셀 안에서 해당 문구를 찾아 위치(숫자)를 알려줍니다. 없으면 오류가 발생합니다.
  • ISNUMBER(...): 위 결과가 숫자인지 확인합니다. 즉, 문구가 포함되어 있다면 TRUE가 됩니다.
  • 최종 결과: 문구가 포함되어 있으면 "둘리", 없으면 "깐따삐아"를 반환합니다.


3. 정규표현식(REGEXMATCH)을 이용한 깔끔한 방법

수식이 너무 길어지는 게 싫다면 REGEXMATCH 함수를 사용하는 것도 실무에서 자주 쓰는 팁입니다.

 

<수정된 수식>

=IFERROR(IF(a1=0,, IF(a1="홍길동","홍길동", IF(REGEXMATCH(a1, "둘리"), "둘리", "깐따삐아"))))
  • REGEXMATCH(a1, "둘리"): $C154$에 해당 텍스트가 포함되어 있는지 패턴을 분석해 바로 TRUE/FALSE를 내놓습니다. 수식이 훨씬 간결해집니다.


💡 실무 팁

  1. 대소문자 구분 여부: SEARCH는 대소문자를 구분하지 않지만, 만약 구분해야 한다면 FIND 함수로 바꿔서 사용하세요.
  2.  
  3. 공백 주의: 셀 안에 눈에 보이지 않는 공백이 있을 경우 오류가 날 수 있으니 , TRIM() 함수를 함께 고려하는 것도 좋습니다.
  4. 수식 우선순위: $IF$문은 앞에서부터 조건을 검사합니다. "홍길동"처럼 가장 구체적인 조건을 앞쪽에 배치해야 수식이 꼬이지 않습니다.

[마무리 정리]

 

특정 문구 포함 여부에 따른 값 변경은

  • SEARCH + ISNUMBER 조합
  • REGEXMATCH 활용

이 두 가지만 기억해도 실무에서 발생하는 텍스트 분류 문제의 대부분을 해결할 수 있습니다.

 

+ Recent posts