Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

물건에 부여한 코드 값은 다양한 정보들이 들어가 있습니다. 코드 값을 분석해서 얻은 정보로 다양한 곳에 활용합니다. SEARCH 는 텍스트를 분석할 때 많이 사용하는 함수입니다. 이번 과제는 코드 문자열의 첫 시작과 끝나는 값을 보고 어떤 종류인지 판단하는 방법입니다. SEARCH 함수의 특징은 FIND 함수가 할 수 없는 작업을 수행합니다. 와일드 카드를 넣어서 패턴으로 값을 찾을 수 있기 때문에 광범위하게 활용하는 함수입니다. 이외에 IF, ISERROR 함수를 같이 사용해서 특정 코드 값으로 제품을 분류해 보겠습니다.

 

 

샘플로 쓰인 파일을 아래에 첨부합니다. 참고하세요.

엑셀 Excel 함수 SEARCH, IF, ISERROR 이용해서 특정 문자 시작하고 끝나는 단어 찾기.zip
0.01MB

 

 

▼ 먼저 SEARCH 함수는 첫 번째 매개변수로 입력한 문장을 두 번째 매개변수로 입력한 문자열에서 찾아 시작 위치를 숫자로 계산해서 알려줍니다. 예를 들어 "ABCDEF" 에서 "D" 가 들어간 위치를 알고 싶다면 =SEARCH("D", "ABCDEF) 코드를 작성합니다. 결과값은 4 입니다.

 

SEARCH(find_text, within_text, [start_num])
l  find_text : 검색할 텍스트
l  within_text : find_text 의 값으로 입력한 텍스트를 찾을 대상 텍스트
l  start_num : 선택 요소, 텍스트에서 검색 시작 지점을 지정한다. 기본은 1 이다. 특정 검색 위치를 건너뛰고 싶을 때 사용한다.
l  return : 검색 위치를 계산한 숫자

 

SEARCH 함수를 이용해서 샘플 코드에서 "PH" "EM" 이 동시에 포함된 코드값을 찾으려고 합니다. 이런 경우 단순히 단어를 입력해서 찾을 수는 없습니다. SEAHCH 함수는 검색할 텍스트 매개변수에 와일드 카드를 사용해서 검색 기능을 확장할 수 있습니다. 자주 사용하는 와일드 카드는 ? * 두 가지입니다. "?" 는 중간에 포함된 글자가 하나인 경우 사용합니다. 샘플 데이터는 아래 예제에서 쓰인 데이터로 이야기 하자면 “PH?EM” 으로 검색을 하게 되면 PH1EM, PH2EM 등은 해당되고 PH01EM 은 해당이 안됩니다. 그러므로 "?" 대신 중간에 들어간 글자 수에 상관없이 검색이 가능한 "*" 를 사용합니다. Find_text 에는 검색할 와일드 카드가 포함된 검색 단어를 넣고 Within_text 는 검색 대상이 되는 셀 주소를 넣습니다.

 

=SEARCH("PH*EM", B3)

 

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 다중 IF 함수 와 IF 함수 구현하는 방법
엑셀 Excel 함수 IF 와 AND, OR 사용해서 다양하게 표현하는 방법
엑셀 Excel 접미사 ~IF 와 ~IFS 함수 SUMIF, COUNTIF 알아보기
엑셀(Excel) IFERROR, ISERROR 이용하여 에러 처리 하기



 

 

SEARCH 함수를 이용해서 수식을 적용한 결과는 다음과 같습니다. 해당 값이 있으면 TRUE 이고 없으면 에러를 반환합니다.

 

▼ 다음은 에러에 대한 구분을 진행하겠습니다. SEARCH 값이 1 일 때는 "경기대리점", 에러가 발생한 #VALUE "김포대리점" 으로 출력하겠습니다. 그러기 위해서는 에러를 판단해야 합니다. 에러일 때 TRUE 를 반환하는 ISERROR 함수를 사용하겠습니다.

 

ISERROR(value)
l  value : 암의의 오류 값인지 확인하기 위한 셀 및 값
l  return : 매개변수로 입력한 값이 오류인지 판단해서 TRUE/FALSE 로 반환

 

 

▼ 오류로 판단할 수 있는 에러의 종류는 아래와 같습니다. 아래에 포함된 에러로 판단될 경우 ISERROR TRUE 를 반환합니다.

 

#N/A
#VALUE!
#REF!
#DIV/0!
#NUM!
#NAME?
#NULL!
#SPILL!

 

 

ISERROR 함수를 추가해서 다시 계산한 결과입니다. 에러가 발생한 곳은 TRUE 이고 아닌 곳은 FALSE 를 반환했습니다. 이제 TRUE/FALSE 를 구분해서 어떤 대리점에 속하는 제품인지 나누겠습니다.

 

=ISERROR(SEARCH("PH*EM", B7))

 

 

TRUE FALSE 를 구분해서 해당하는 대리점 명을 출력하기 위한 수식을 다시 작성합니다. 수식은 다음과 같습니다. IF 함수의 첫 번째 매개변수가 TRUE 일 때 "경기대리점" , FALSE 일 때 "김포대리점" 을 출력하는 수식입니다.

 

=IF(ISERROR(SEARCH("PH*EM",B3)), "경기대리점", "김포대리점")

 

 

▼ 전체를 적용한 결과는 다음과 같습니다. 만약 구분해야 할 대리점 수가 많다면 IFS 함수를 이용하시기 바랍니다.

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 다중 IF 함수 와 IF 함수 구현하는 방법
엑셀 Excel 함수 IF 와 AND, OR 사용해서 다양하게 표현하는 방법
엑셀 Excel 접미사 ~IF 와 ~IFS 함수 SUMIF, COUNTIF 알아보기
엑셀(Excel) IFERROR, ISERROR 이용하여 에러 처리 하기
반응형
Posted by 녹두장군1
,