일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Google Excel
- google apps script
- 파이썬
- SQL
- c#
- PostgreSQL
- hive
- gas
- Google Spreadsheet
- string
- dataframe
- django
- Excel
- Apache
- Tkinter
- list
- numpy
- Python
- matplotlib
- Redshift
- array
- math
- Mac
- Java
- Github
- PySpark
- PANDAS
- GIT
- Kotlin
- Today
- Total
달나라 노트
Excel : find, search (문자열에서 원하는 텍스트 위치 찾기) 본문
엑셀에서 제공하는 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번과 마찬가지입니다.
'Excel' 카테고리의 다른 글
Excel : sort (특정 범위 정렬하기) (0) | 2021.07.15 |
---|---|
Excel : weeknum, isoweeknum (week number, 주차 번호 구하기. 몇주차인지 구하기) (0) | 2021.05.21 |
Excel : edate 함수 (날짜에 월 단위 연산하기) (0) | 2021.02.25 |
Excel : iserror 함수(Error인지 아닌지의 여부를 반환) (0) | 2021.02.25 |
Excel : text function (원하는 format으로 값 표시하기) (0) | 2021.01.27 |