엑셀 MID 함수, MIDB 함수 - 지정 위치에서 문자열 가져오기

 문자열 함수에서 가장 인기 좋은 함수 중 하나가 MID 함수와 MIDB 함수 입니다. LEFT 함수와 LEFTB함수는 문장의 특성상 자주 사용되기는 하지만 자유롭게 문자를 가져오는 기능은 단연 MID 함수와 MIDB 함수가 최고 입니다. MID 함수와 MIDB 함수의 문자에 대한 기본은 LEFT, LEFTB, RIGHT, RIGHTB 함수들과 동일 합니다. 따라서 앞에서 알아보았던 문자열 함수만 이해하셨다면 MID 함수와 MIDB 함수 역시 쉽게 배울수 있는 함수입니다.


MID 함수는 앞에서 알아보았던 문자열 함수와 달리 자유롭게 시작위치를 정하고 문자를 가져올 수 있습니다. 그렇다보니 LEFT, LEFTB, RIGHT, RIGHTB 함수 보다는 사용되는 빈도수가 높은 편입니다. 알아두면 유용한 함수라는 뜻이겠지요. 그럼 MID 함수에 대하여 알아 보겠습니다.

 

MID 함수 - 사용자가 지정한 위치에서 지정된 문자 수만큼 가져오기

 

구문

MID(문자열 또는 셀참조, 가져올 문자의 시작 위치, 가져올 문자 수)

 

 구문에서 알 수 있듯이 가져올 문자의 시작위치를 사용자가 직접 정하고, 그 위치에서 부터 가져올 문자의 개수를 지정하면 됩니다. MID 함수 역시 1바이트 문자를 사용하는 SBCS 언어와 2바이트 문자를 사용하는 DBCS 언어 상관없이 문자하나는 1개로 취급됩니다. 예를 들어서 확인 해 보겠습니다. "B2" 셀에 "I have a dream." 이라는 문자열이 있습니다. 저는 여기서 "heave"만 가져오고 십습니다. 그럼 수식을 한번 입력해 보겠습니다.

 

=MID(B2, 3, 4)

 

 아래와 같이 "have" 문자열만 가져오게 됩니다. "have"의 시작위치가 "h"이고 문자열상 위치가 3번째 이므로 가져올 문자의 시작 위치는 "3"이고, "have"의 총 문자수가 4개 이므로 가져올 문자 수는 "4"가 됩니다. 따라서 위와 같은 수식이 완성되는 것입니다.

 

 

 2바이트를 사용하는 DBCS 언어인 한국어로 한번 해 보겠습니다. 아래 예와 같이 "B3" 셀에 "나는^꿈이^있어요." 라는 문자열에서 "꿈이" 문자를 가져오고 싶습니다. 어떻게 수식을 입력하면 될까요? 아래와 같이 입력해보겠습니다.

 

=MID(B3, 4, 2)

 

아래와 같이 "꿈이"라는 문자가 출력되었습니다. 이제 이해가 잘 가시죠?

 

 

이해가 안되신 분들은 아래를 참조하시면 더 이해가 쉬울 것 같습니다.

 

MID 함수가 왜 많이 사용되는지 아시겠지요. 그럼 MIDB 함수에 대해 알아 보겠습니다.

 

MIDB 함수 - 사용자가 지정한 위치에서 지정된 바이트 만큼 가져오기

 

구문

MIDB(문자열 또는 셀참조, 가져올 문자의 시작 바이트, 가져올 문자 바이트)

 

 이제 문자열 함수 중 xxxB로 끝나는 함수는 바이트 단위로 문자를 처리한다는 것은 다들 아시겠지요. 그리고 1바이트를 사용하는 언어와 2바이트를 사용하는 언어에서 가져올 바이트를 어떻게 정해야 하는지도 이전 포스팅을 보셨다면 문제 없을 것 같습니다. 상세한 설명은 이전 포스팅을 참조 바랍니다.

 

2017/03/26 - 엑셀 문자열 함수 RIGHT 함수, RIGHTB 함수 - 오른쪽에서 문자열 가져오기

2017/03/24 - 엑셀 문자열 함수 LEFT 함수, LEFTB 함수 - 왼쪽에서 문자 가져오기

 

* 서양국가에서 사용되는 대부분의 언어(SBCS)가 1바이트이고, 2바이트를 사용하는 언어(DBCS)는 한국,일본,중국어(간체,번체 포함)를 포함하고 있습니다.

 

 예제를 통하여 MIDB 함수를 사용하는 방법에 대하여 알아 보겠습니다. 1바이트를 사용하는 언어인 영문의 경우 1개의 문자는 1바이트이기 때문에 MID 함수와 사용방법은 동일합니다. 아래를 예를 보시면 "B2" 셀에 "I have a dream." 이라는 문자열에서 "have" 만 가져오겠습니다. 수식을 보시면 MID 함수의 수식과 완벽하게 동일함을 알 수가있습니다.

 

=MIDB(B2, 3, 4)

 

 

 이번에는 2바이트를 사용하고 있는 한국어로 한번 진행해 보겠습니다. "B3" 셀에 "나는^꿈이^있어요." 라는 문자열에서 "꿈이" 문자를 가져오고 싶습니다. 어떻게 입력하면 될까요. 가져올 문자의 시작 바이트는 "꿈"문자가 사작이므로 6바이트를 입력하고,  가져올 문자 바이트는 2문자이므로 총 4바이트만 있으면 가져올 수 있겠지요. 수식을 입력해 보겠습니다.

 

=MIDB(B3, 6, 4)

 

 

이번에는 조금 복잡하게 1바이트 문자와 2바이트 문자가 섞여있는 경우를 알아보겠습니다. 가져올 문자의 시작 바이트를 이해하는데 도움이 많이 될 것 같습니다. 아래 예를 보면 "B4" 셀에 "dream꿈"이라고 입력된 문자열에서 "am꿈" 문자만 가져오겠습니다. 어떻게 입력하면 될까요?

 

=MIDB(B4, 4, 4)

 

 

이해가 안되신 분들께서는 아래를 참조하시면 좀더 이해가 빠를 것 같습니다.

 

 

 여기까지 MID 함수와 MIDB 함수에 대하여 알아보았습니다. 잘 못된 부분이나 궁금하신 부분은 댓글이나 메일 부탁드립니다. 감사합니다.


함께 읽으면 좋은글

2017/03/26 - 엑셀 문자열 함수 RIGHT 함수, RIGHTB 함수 - 오른쪽에서 문자열 가져오기

2017/03/24 - 엑셀 문자열 함수 LEFT 함수, LEFTB 함수 - 왼쪽에서 문자 가져오기

2017/03/23 - 엑셀 LOWER 함수, UPPER 함수, PROPER 함수 - 영문자 대문자 소문자 변환하기.

ASCII 코드표 - http://terms.naver.com/entry.nhn?docId=841951&cid=42344&categoryId=42344

728x90