본문 바로가기

엑셀함수/텍스트함수

엑셀 특정문자부터 텍스트 추출하기(Find함수, Mid함수)

반응형

지난 시간 엑셀에서 특정문자열 추출 또는 텍스트 추출하기로 Mid함수에 대해 살펴봤다. Mid함수와 더불어 Left함수와 Right함수에 대해서도 비교해서 잠시 언급했다.

 

오늘은 오래전에 소개한 Find함수를 Mid함수와 혼합하여 찾고자하는 문자열 속에서 특정문자부터 시작해서 텍스트를 추출하는 방법에 대해 살펴보자! 우선 아래 Fid함수 구문에 대한 이해가 필요하다.

 

FIND(find_text, within_text, [start_num])
FIND("찾을 텍스트", "찾으려는 텍스트를 포함하는 문자열", [검색을 시작하는 문자를 지정])

 

위 구문에서 보듯 FIND함수는 두 번째 텍스트 문자열에서 지정된 텍스트 문자열을 검색하고, 두 번째 텍스트 문자열의 첫 문자를 기준으로 첫 번째 문자열이 시작하는 위치에 해당하는 숫자를 반환한다.

 

□ Find함수 사용시 유의사항


- FIND는 대/소문자를 구분하며, 와일드카드 문자를 사용할 수 없다.
- 대/소문자를 구분하지 않고 검색하거나 와일드카드 문자를 사용하려면 SEARCH를 사용해야 한다.
- find_text가 ""(빈 텍스트)이면 FIND는 검색 문자열의 첫 문자를 찾는다.
- find_text는 와일드카드 문자를 포함할 수 없다.
- find_text가 within_text에 없으면 #VALUE! 오류 값이 반환
- start_num이 0보다 크지 않으면 #VALUE! 오류 값이 반환
- start_num이 within_text의 길이보다 길면 #VALUE! 오류 값이 반환
- start_num을 사용하여 지정된 문자 수만큼 건너뛸 수 있다.

 

예를 들어 FIND의 경우 텍스트 문자열 "AYF0093.YoungMensApparel"에서 텍스트 문자열의 설명 부분에 있는 첫 번째 "Y"의 번호를 찾으려면 텍스트의 일련 번호 부분은 검색하지 않도록 start_num을 8로 설정한다. FIND는 8번째 문자부터 시작하여 이후의 문자에서 find_text를 찾아 번호 9를 반환한다. FIND는 start_num이 1보다 큰 경우 건너뛴 문자 수도 계산하여 항상 within_start의 시작 부분부터 센 문자 번호를 반환한다.

 

□ Find함수 사용예제

 

 

FIND("M",A4), FIND("m",A4), FIND("M",A4,3) 3가지 Find함수 예제를 살펴보면 앞서 설명했듯이 대소문자 구분과 지정된 문자수만큼 선너뛸 수 있음을 알 수 있다.

 

 

 

MID(A13,1,FIND(" #",A13,1)-1) 등 Find함수와 Mid함수를 조합하여 사용하면 특정문자("#") 위치를 찾기 위해 Find함수를 사용하여 Mid함수로 텍스트문자열에서 첫번째(1)에서 특정문자("#") 위치까지 텍스트를 추출한다. 좀더 부연하자면 FIND(" #",A13,1)-1 구문에서 "#"위치를 찾은 후 -1로 앞자리를 구할 수 있다.

 

엑셀 예제파일-엑셀 특정문자부터 텍스트 추출하기(Find함수, Mid함수).xlsx


반응형