강좌(교육)

[엑셀 함수강좌] 문자열 위치 반환(FIND 함수)엑셀교실

조아0415 2016. 12. 15. 22:10
[엑셀 함수강좌] 문자열 위치 반환(FIND 함수)엑셀교실

FIND 함수

=FIND(find_text, within_text, [start_num])

 

FIND 함수는 전체 텍스트에서 지정한 문자가 몇 번 째에 위치해있는지 반환하는 함수입니다.

 

※ 인수설명

find_text

텍스트 안의 위치를 찾고 싶은 문자(열), 문자열로 지정하면 해당 문자열의 첫 번째 위치를 반환합니다.

within_text

찾을 문자(열)가 포함되어 있는 텍스트 또는 텍스트가 입력된 셀을 지정합니다.

[start_num]

찾을 문자(열)를 찾기 시작할 위치를 지정, 생략하면 1이 되어 텍스트의 첫 번째 문자부터 찾습니다.

 

 

 

수원시 영통구 영통동 13-17

 

위와 같은 값이 A1셀에 입력되어 있다고 합시다.

FIND 함수를 이용하면 위의 주소에서 특정 텍스트 값이 몇 번째에 위치해 있는지 확인 할 수 있습니다.

 

예를들어, 

=FIND("영통구", A1) 라는 수식의 값7이 됩니다.

=FIND("영통동", A1) 라는 수식의 값11이라는 값이 될 것입니다.

 

※ 함수의 사용 예

 

 

“시” 구하는 방법 : left 함수를 이용해서 수원시까지 추출하는 식을 작성해봅니다.

 

=LEFT(text, [num_chars])

left 함수는 대상 텍스트, 추출할 문자의 개수를 왼쪽처음부터 추출합니다.

 

왼쪽처음부터 3번째에 위치해있는 글자까지 추출해야하므로

 =LEFT(C4, 3) 라는 수식을 작성 할 수 있고, 위 수식에서 3에 들어가는 부분에 

 

FIND 함수를 이용하여 “시” 라는 글자가 몇 번째에 위치해 있는지

=FIND(B6, C4)라는 수식을 이용해서 확인 할 수 있습니다.

 

두 수식을 중첩하여 =LEFT(C4, FIND(B6, C4)) 라는 수식을 구할 수 있습니다.

 

 

“구” 구하는 방법 : “구”는 글자의 위치가 주소 중간에 있으므로 MID함수를 이용해서 추출해줍니다.

 

=MID(text, start_num, num_chars)

MID함수는 위의 인수처럼 대상텍스트, 시작하는 문자위치, 추출할 문자의 개수로 정해집니다.

 

=MID(C4, 5, 3) 이런 수식을 입력하면 “영통구”라는 문자를 추출 할 수 있습니다.

숫자 5는 “시” 글자위치에서 2글자를 더한 위치와 같고,

숫자 3은 “구까지”의 숫자 길이에서 “시”까지의 숫자 길이에 공백 길이인 1을 더한 길이를 빼준 값과 같습니다.

 

이것을 수식으로 표현하면 =(FIND(B6, C4)+2) - (FIND(B6, C4)+1)

위와 같은 수식으로 표현 할 수 있고, MID함수와 중첩하여 사용하면

 

아래와 같은 수식을 구할 수 있습니다.

=MID(C4, FIND(B6, C4)+2, FIND(B7, C4)-(FIND(B6, C4)+1))

 

 

“동” 구하는 방법 : “동”을 구하는 방법 역시 “구”를 구하는 방법과 원리는 같습니다.

MID함수를 사용해서 구하면 되는데, “구”의 글자위치에서 2글자를 더한 부분부터 시작하면 되고,

동”까지의 길이에서 “구”까지의 길이에 1을 더한 값을 빼주면 “영통동”이라는 값을 얻을 수 있습니다.

 

수식은 아래와 같습니다.

=MID($C$4, FIND(B7, $C$4)+2, FIND(B8, $C$4)-(FIND(B7, $C$4)+1))

“번지” 구하는 방법 : “번지”를 구하는 방법 역시 위 방법과 원리는 같으나, 약간 다른부분이 있습니다.

 추출해야하는 문자의 범위는 “동”의 문자위치 2글자 다음부터 시작해서,

“번지”까지의 길이에서 “동”까지의 길이에 1을 더한 값을 빼주면 되는데

여기서 “번지” 까지의 길이를 체크할 때 첫글자인 “번”까지만 체크를 하게 되므로 숫자 1을 더해 줘야합니다.

 

그럼 아래와 같은 수식을 얻을 수 있습니다.

=MID($C$4, FIND(B8, $C$4)+2, (FIND(B9, $C$4)+1)-(FIND(B8, $C$4)+1))