본문 바로가기

엑셀 Excel/엑셀 Excel 기초

엑셀 Excel 기초 - 5. 문자열 함수(search, find, len) 글자 위치 찾기, 길이 찾기(mpg 데이터셋)

 

데이터를 쉽게 가공하기 위해

문자열 함수를 사용하는 것은 필수다.

 

필수적으로 알아야 하는

 

SEARCH, FIND, LEN 함수

 

를 소개한다.

 

앞서 포스팅했던 MID, LEFT, RIGHT 함수와 같이 쓸 수 있는 함수들이다.

 

 

엑셀 Excel 기초 - 2. 문자열 함수(mid, left, right) 글자 자리수로 잘라내기

엑셀로 표를 작성하기 위해서 행과 열의 이름을 잘 짓는 것이 중요하다. 보통 행과 열의 이름은 문자열 또는 숫자의 조합으로 이루어진다. 사람의 이름이나, 번호, 성별, 회사에서는 직급등이 주로 쓰일 것이다...

ksc38317.tistory.com

 

이 함수들을 쓰려면 기본적으로

문자열의 몇 번째에서 자를지를 알아야 한다.

 

데이터를 수집하다 보면

문자열이 어떤 구분자를 기준으로 한 줄로 써있는 경우가 많다.

 

특정한 문자를 기준으로 시작 위치를 찾아낼 수 있다면 좋지않을까?

 

 


 

0. 준비물 - 연습용 dataset

 

 

GitHub에서 받을 수 있는 연습용 mpg dataset 를 이용해 함수 사용법을 알아보자.

 

mpg_dataset.csv
0.02MB

 

데이터는 csv의 형태로 주로 받게 되는데

 

csv는 , 를 구분자로 하는 데이터 형식이라

메모장으로 열면 이런식으로 보인다.

 

 

엑셀로 열어보면 알아서 표로 만들어주고

서식은 없는 형태로 열린다

 

 

보면 느낌이 오지만 mpg dataset은

1970년~1982년 사이에 출시된 차들의 제원표다.

 

맨 마지막 열에 차량의 이름이 있는데 이걸로 연습해보자.

 

 


 

 

1. SEARCH / FIND 함수

 

이름을 보면

 

제조사 모델명으로 되어있다.

함수를 써서 제조사와 모델명을 분리해보자.

 

제조사와 모델명이 띄어쓰기로 되어있는 특징이 있으므로

 

이름들 안에서 " "(공백) 이 몇번째 위치하는지 알면

제조사와 차 이름으로 구분할 수 있다.

 

 

문자열을 찾는 함수는

SEARCH와 FIND가 있는데

 

사용법을 보면 두 함수의 사용법이 완전히 동일하며,

대소문자 구분만 차이가 있다.

 

평소엔 SEARCH 함수를 사용하면 되고,

대소문자 구분이 필요할 때만 FIND 함수를 사용하면 된다.

 

 

예를 들어 이런 식이다.

SEARCH는 대소문자를 무시하고 찾아준다.

 

단어를 검색하면 그 단어의 첫 번째 위치를 알려준다.

 

 

 

이 번엔 공백을 찾을거니 아무 함수나 상관없다.

 

아래와 같은 형태로 FIND함수를 사용하면

" " (공백)이 몇 번째에 위치하는지를 알려준다.

 

세 번째 인자인 start_num은

어디서 부터 검색할지 시작위치를 지정하는 옵션이다. (생략가능)

 

 

이제 제조사 이름의 길이를 알 수 있게됐다.

LEFT 함수를 이용해 제조사를 잘라내보자.

 

공백의 위치가 10이면, 그 바로 앞에 9번째 까지가 제조사 이름이다.

 

 


 

2. LEN 함수

 

 

다음으로 모델명을 잘라낼 생각을 하니

모델명의 길이가 모두 달라 어떻게 같은 숫자로 구분할수가 없다.

 

이 때 필요한 함수가 LEN 함수다.

 

문자열의 길이를 알려주는 함수로 사용법이 아주 간단하다.

 

 

 

이제 전체 길이를 알았으니,

 

전체 길이 - 첫 공백 위치

 

를 계산하면 차량의 model명 길이를 알 수 있다.

 

이제 RIGHT 함수를 써서 잘라낸다. 

 

 

 

깔끔하게 제조사와 모델명이 분리되었다.

 

이제 지저분하니 앞에 숫자들을 없애보자.

 

함수안에 함수를 쓰면 된다.

 

 

먼저 제조사.

 

 

다음은 모델명.

 

 

데이터를 정리할 때,

 

문자열의 길이가 제멋대로이기 때문에

 

문자열 전처리에 필요한 꼭 알아둬야할 함수들을 알아보았다.