본문 바로가기
엑셀

[엑셀]SEARCH함수와 SEARCHB함수-문자열에서 특정 텍스트가 시작되는 위치를 반환

by 서여니서여니 2024. 11. 22.
728x90
반응형

SEARCH 함수
  문자열에서 특정 텍스트가 시작되는 위치를 반환합니다.
  대소문자를 구분하지 않으며,
  와일드카드(*, ?)를 지원합니다.
  =SEARCH( 찾을 텍스트 , 탐색할 전체 문자열  , 탐색을 시작할 위치 (옵션, 기본값은 1) )

=SEARCH("cat", "The cat is cute")
   c는 The cat is cute 문자열에서
   공백 포함하여 5번째 글자입니다
 =>  5 (cat의 시작 위치)

=SEARCH("A", "Alphabet", 2)
  A라는 문자를 Alphabet 문자열에서 
 2번째 A부터 찾습니다
  그럼 Alpha 앞에서부터 숫자를 세면 
  5가 됩니다 
 =>  5

=SEARCH("W", "Hello? How are you?")
  W라는 글자를 Hello? How are you? 문자열에서 
  찾아야 하므로 
  Hello? How 가 됩니다 
  => 10 
SEARCHB 함수
  SEARCH와 유사하지만,
   문자를 바이트 수 기준으로 계산합니다.
    숫자 영문은 한글자로
   한글과 특수문자는 두글자로 계산함
  =SEARCH( 찾을 텍스트 , 탐색할 전체 문자열  , 탐색을 시작할 위치 (옵션, 기본값은 1) )
 
=SEARCHB("고양이", "나는 고양이를 좋아한다")
  고양이라는 단어를 
  나는 고양이를 좋아한다 찾습니다 
  나는 고  => 이렇게 나옵니다 
  한글 2바이트이므로 6이 답이 됩니다 
  => 6

=SEARCHB("A", "Data and Analysis")
  A라는 글자를 Data and Analysis 에서 찾아야 하므로 
  Da  라 검색됩니다 
  영문이므로 1바이트입니다 
   => 2 

 

  =SEARCHB(" ", "이 문장은 예시입니다")
   공백을  이 문장은 예시입니다 문자열에서 
   찾아야 하므로 
     이하고 공백이 됩니다 
   이는 한국어 이므로 2바이트

   공백 1바이트  총 3입니다 
  => 3 

  =SEARCHB(" ", "이 문장은 예시입니다",4)

  공백을 이 문장은 예시입니다 문자열에서 
   4번째 위치인 문부터 찾아야 합니다 
  이 문장은  가 됩니다 
  그러면 한글 4 * 2 = 8
   공백 2개  총 10이 됩니다 
   =>  10



주요 차이점은 
  SEARCH는 문자 단위,
  SEARCHB는 바이트 단위로 위치를 반환합니다.

 

 

FIND 함수와 SEARCH함수 차이점
    FIND함수는
     대소문자 구분합니다 
    와일드 카드 (*, ?)를 사용할 수 없습니다 

 SEARCH함수는 
    대소문자 구별하지 않습니다 
   와일드카드 사용할 수 있습니다 

=FIND("Cat", "The cat is on the roof")
    대소문자 "Cat"과 "cat"이 다르기 때문
   =>
#VALUE! 

=SEARCH("Cat", "The cat is on the roof")
    "cat"과 "Cat"을 동일하게 처리함
   ==>  5

728x90
반응형

댓글