달나라 노트

Excel : find, search (문자열에서 원하는 텍스트 위치 찾기) 본문

Excel

Excel : find, search (문자열에서 원하는 텍스트 위치 찾기)

CosmosProject 2021. 3. 24. 12:44
728x90
반응형

 

 

 

엑셀에서 제공하는 find, search 함수는 어떠한 텍스트를 어떤 문자열에서 찾아 그 텍스트의 위치를 반환해줍니다.

 

두 함수는 위처럼 완전히 동일한 기능을 제공합니다.

 

find(find_text, origin_text, [start_position])
search(find_text, origin_text, [start_position])

사용법은 위와 같습니다.

find_text를 origin_text에서 찾아 그 위치를 반환합니다.

start_position은 optional한 인자인데, find_text를 찾을 때 origin_text의 몇번째 위치 이후로부터 찾을지를 명시해주는겁니다.

 

그러면 위 두 함수의 차이는 무엇일까요?

아래 표를 보면 됩니다.

  대소문자 구분 와일드카드 사용 가능 여부
find O (Case-sensitive) 사용 불가
search X (Case-insensitive) 사용 가능

 

 

 

1. apple이란 글자를 banana_apple_strawberry_apple 이란 문자열에서 찾고 있습니다.

banana_apple_strawberry_apple 에서 위치 번호를 알아보면

b a n a n a _ a p p l e _ s t r a w b
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

위 표에 나와있는 것처럼 가장 첫 글자가 1부터 시작하며 1씩 증가합니다.

apple이라는 글자를 찾았을 때 8번 위치에서 apple이란 단어가 발견되죠.

따라서 1번의 결과는 8입니다.

 

여기서 한 가지 더 주의할건 위 문자열에는 apple이라는 글자가 2개 있지만 가장 첫 번째로 찾아지는 apple의 위치를 반환한다는 것입니다.

(이건 find, search 함수 모두 동일합니다.)

 

 

2. 2번도 1번과 마찬가지입니다.

 

 

3. find는 맨 위에서 대소문자 구분을 한다고 했죠.(Case-sensitive)

따라서 Apple이라는 글자는 찾지 못합니다. 대문자 A가 있기 때문이죠.

 

 

4. 3번과는 다르게 search는 대소문자 구분을 하지 않습니다. (Case-insensitive)

따라서 Apple이건 apple이건 동일하게 간주하여 8번이란 위치를 반환해주죠.

 

 

5. find의 인자로 가장 마지막 10이라는 것이 추가되었습니다.

이것은 start position으로 banana_apple_strawberry_apple 이 문자열의 10번째 글자부터 apple을 찾으라는 뜻입니다.

1번에서 만든 표를 보면 10번째 글자부터 고려한다면

ple_strawberry_apple 이라는 문자열에서 apple을 찾게됩니다.

따라서 첫 번째 apple은 잘려서 ple만 나오게 되므로 strawberry 뒤에 있는 apple의 위치 번호를 반환합니다.

또한 찾는것만 10번째 이후로 찾게되는거고 position은 banana_apple_strawberry_apple 전체를 대상으로 반환하므로banana_apple_strawberry_apple 문자열에서 두 번째 apple의 position인 25를 반환합니다.

 

 

6. 5번과 마찬가지입니다.

 

 

 

 

728x90
반응형
Comments