컴활2급 실기의 엑셀 문자열함수 SEARCH 함수 와 SEARCHB 함수 입니다. 이 함수들은 2012년 대한상공회의소의 컴퓨터활용능력 실기 개정안에서 부터 컴활2급의 문자열 함수로 추가된 함수 입니다. 이때 함께 포함된 FIND 와 FINDB 함수와 거의 흡사합니다. 문자열에 포함된 문자나 문자열의 출현 위치를 숫자로 반환하는 함수이지요. 이전 게시물에서 말씀드렸듯, 대소문자의 구분여부와 와일드카드(*, ?)문자의 사용가능 여부가 FIND 와 SEARCH 함수를 다른 함수로 사용케합니다.
컴활2급의 SEARCH 와 SEARCHB 함수 FIND 와 FINDB 함수와 함께 살펴보시면 보다 단순한 함수로 느껴지실 것입니다. 이렇게 2012년 추가된 문자열 함수 4개를 모두 익혀보았습니다. 컴활 독학하시는 분들에게 도움되었기를 바랍니다.
마늘빵.
SEARCH 함수와 SEARCHB 함수 기본 설명
설명 : SEARCH 함수는 search_text 인수를 within_text 에서 찾아 그 위치를 숫자로 반환합니다. SEARCH함수는 더블바이트 문자셋(DBCS) 이건 싱글바이트문자셋(SBCS) 이건 모두 1 로 계산합니다. (SEARCHB 함수는 더블바이트 문자셋 1자를 2로 계산합니다.)
구문 : SEARCH( search_text, within_text, [start_num] )
인수 :
search_text : 찾고자하는 문자 혹은 문자열입니다.
within_text : 검색할 문자열입니다.
[start_num] : within_text 에서 검색을 시작할 위치를 지정합니다. 옵션인수로 사용하지 않는다면 1로 처리되어 처음부터 검색하게 됩니다.
노트1 : 싱글바이트 문자셋 은 영문자와 같은 1바이트 문자셋을 , 더블바이트 문자셋 은 한글,일본어,중국어 같은 2바이트 문자셋을 말합니다.
노트2 : 찾을 수 없다면 #VALUE! 오류를 결과로 반환합니다.
구문 : SEARCH( search_text, within_text, [start_num] )
인수 :
search_text : 찾고자하는 문자 혹은 문자열입니다.
within_text : 검색할 문자열입니다.
[start_num] : within_text 에서 검색을 시작할 위치를 지정합니다. 옵션인수로 사용하지 않는다면 1로 처리되어 처음부터 검색하게 됩니다.
노트1 : 싱글바이트 문자셋 은 영문자와 같은 1바이트 문자셋을 , 더블바이트 문자셋 은 한글,일본어,중국어 같은 2바이트 문자셋을 말합니다.
노트2 : 찾을 수 없다면 #VALUE! 오류를 결과로 반환합니다.
SEARCH 함수와 SEARCHB 함수 사용예제
[그림1] 이를 참고하여 아래의 사용 예제를 살펴보세요.
사용 예제1 : =SEARCH( "C", B4 )
사용 결과1 : 5
B4 셀의 within_text "SEARCH Function" 에서 "C" 를 찾아 결과로 위치를 반환합니다. 대문자 "C" 를 찾지만 이 함수는 대소문자의 구분없이 그 최초출현 위치인 5 를 결과로 반환합니다.
사용 결과1 : 5
B4 셀의 within_text "SEARCH Function" 에서 "C" 를 찾아 결과로 위치를 반환합니다. 대문자 "C" 를 찾지만 이 함수는 대소문자의 구분없이 그 최초출현 위치인 5 를 결과로 반환합니다.
사용 예제2 : =SEARCH( "c", B4 )
사용 결과2 : 5
B4 셀의 "SEARCH Function" 문자열에서 "c" 를 찾아 그 위치를 반환합니다. SEARCH 함수는 대소문자를 구분하지 않기에 대문자 "C" 의 위치가 결과로 반환되었습니다. FIND 함수였다면 결과로 소문자 "c" 가 나타나는 위치인 11 이 결과로 반환되었을 것입니다.
사용 결과2 : 5
B4 셀의 "SEARCH Function" 문자열에서 "c" 를 찾아 그 위치를 반환합니다. SEARCH 함수는 대소문자를 구분하지 않기에 대문자 "C" 의 위치가 결과로 반환되었습니다. FIND 함수였다면 결과로 소문자 "c" 가 나타나는 위치인 11 이 결과로 반환되었을 것입니다.
사용 예제3 : =SEARCH( "C", B4, 8 )
사용 결과3 : 11
B4 셀에서 "C" 를 찾아 결과로 반환 합니다. 검색위치를 지정하는 옵션인수 [start_num] 이 8 로 지정되어 있기게 8 의 위치에서 부터 검색이 시작됩니다. 하여 결과로 소문자 "c" 가 나타나는 위치인 11 이 결과로 반환되었습니다.
사용 결과3 : 11
B4 셀에서 "C" 를 찾아 결과로 반환 합니다. 검색위치를 지정하는 옵션인수 [start_num] 이 8 로 지정되어 있기게 8 의 위치에서 부터 검색이 시작됩니다. 하여 결과로 소문자 "c" 가 나타나는 위치인 11 이 결과로 반환되었습니다.
사용 예제4 : =SEARCH( "검*", B5 )
사용 결과4 : 8
search_text 인수로 와일드카드문자가 사용되었습니다. B5 셀의 within_text 에서 '검' 으로 시작되는 텍스트를 찾아 그 위치를 반환합니다. "검색함수" 가 나타나기에 그 시작위치인 8 이 결과로 반환되었습니다. 만일 이를 FIND 나 FINDB 함수를 사용하였다면 "검*" 이라는 텍스트 자체를 찾기에 텍스트를 찾을 수 없어 #VALUE! 오류가 반환되었을 것입니다.
사용 결과4 : 8
search_text 인수로 와일드카드문자가 사용되었습니다. B5 셀의 within_text 에서 '검' 으로 시작되는 텍스트를 찾아 그 위치를 반환합니다. "검색함수" 가 나타나기에 그 시작위치인 8 이 결과로 반환되었습니다. 만일 이를 FIND 나 FINDB 함수를 사용하였다면 "검*" 이라는 텍스트 자체를 찾기에 텍스트를 찾을 수 없어 #VALUE! 오류가 반환되었을 것입니다.
사용 예제5 : =SEARCHB( "색??", B5 )
사용 결과5 : 8
"SEARCH 검색함수" 문자열 에서 '색' 으로 시작하고 뒤에 1자가 추가된 문자열을 찾아 위치를 반환합니다. 와일드카드 문자 ?? 이면 2자이지 왜 1자 인가? 라는 의문이 생길것입니다. 예제로 보여드리는 함수는 SEARCHB 함수로 더블바이트 문자셋을 계산하는 함수 입니다. 영문자와 숫자 등의 싱글 바이트문자셋은 1 로 한글 같은 더블바이트 문자셋은 2 로 계산 되기에 검색시에도 한글 1자는 ?? 로 검색하셔야 되는 것입니다. 만일 "색?" 로 검색을 한다면 이는 '색' 이라는 문자뒤에 영문이나 숫자가 1자 추가된 것을 검색하는 것이 됩니다. 하여 찾을수 없기에 #VALUE! 가 발생합니다.
사용 결과5 : 8
"SEARCH 검색함수" 문자열 에서 '색' 으로 시작하고 뒤에 1자가 추가된 문자열을 찾아 위치를 반환합니다. 와일드카드 문자 ?? 이면 2자이지 왜 1자 인가? 라는 의문이 생길것입니다. 예제로 보여드리는 함수는 SEARCHB 함수로 더블바이트 문자셋을 계산하는 함수 입니다. 영문자와 숫자 등의 싱글 바이트문자셋은 1 로 한글 같은 더블바이트 문자셋은 2 로 계산 되기에 검색시에도 한글 1자는 ?? 로 검색하셔야 되는 것입니다. 만일 "색?" 로 검색을 한다면 이는 '색' 이라는 문자뒤에 영문이나 숫자가 1자 추가된 것을 검색하는 것이 됩니다. 하여 찾을수 없기에 #VALUE! 가 발생합니다.
SEARCH 와 SEARCHB 함수 요약
- 문자열에서 특정문자나 문자열을 찾는 함수.
- 영문자 대소문자를 구분하지 않음.
- 와일드카드 문자(* , ?) 사용가능.
- SEARCH 함수는 모든 문자가 1로 계산.
- SEARCHB 함수는 더블바이트 문자셋은 2로 계산.
- [start_num] 으로 검색위치 지정가능.
- 영문자 대소문자를 구분하지 않음.
- 와일드카드 문자(* , ?) 사용가능.
- SEARCH 함수는 모든 문자가 1로 계산.
- SEARCHB 함수는 더블바이트 문자셋은 2로 계산.
- [start_num] 으로 검색위치 지정가능.
컴활2급의 SEARCH 와 SEARCHB 함수 FIND 와 FINDB 함수와 함께 살펴보시면 보다 단순한 함수로 느껴지실 것입니다. 이렇게 2012년 추가된 문자열 함수 4개를 모두 익혀보았습니다. 컴활 독학하시는 분들에게 도움되었기를 바랍니다.
마늘빵.
'엑셀 컴활 함수' 카테고리의 다른 글
[컴활 2급] 값을 찾아 위치를 숫자로, 엑셀 MATCH 함수 (8) | 2016.02.23 |
---|---|
[컴활 2급] 엑셀 SUMIFS 함수로 다중 조건 합 구하기 (9) | 2016.02.22 |
[컴활 2급 함수] 컴퓨터활용능력 실기 FIND 와 FINDB 함수 - 문자열 (0) | 2016.02.19 |
[컴활 2급 함수] 컴퓨터활용능력 실기 IFERROR 함수 - 논리함수 (2) | 2016.02.17 |
[컴활 2급] 날짜 기간이 차지하는 비율, 엑셀 YEARFRAC 함수 (0) | 2016.02.14 |