티스토리 뷰

이번 게시물에서는 엑셀 MID 함수를 배워봅니다. 문자열에서 특정 문자들을 추출하는 함수를 이미 2개 배우셨습니다. 문자열의 왼쪽에서 문자를 추출하는 엑셀 함수 LEFT 와 문자열의 오른쪽에서 문자를 추출하는 함수 엑셀 RIGHT 함수를 배워보셨습니다.
그런데 문자열의 가운데 놓여 있는 몇개의 문자만을 필요로 할때가 있습니다. 예를 들어 주민등록번호로 남자인지 여자인지를 가늠하라는 문제가 있습니다. 물론 주민번호는 주어집니다. 어떻게 하시겠습니까? 주민번호가 '-'을 포함한다면 8번째의 문자로 가늠하지요. 이 8번째 1문자를 어떻게 추출할 것인가?
바로 이때 사용할 수 있는 함수가 MID함수 입니다. Middle (가운데) 에서 앞의 세자리로 함수명을 만든 함수입니다.
원하는 문자를 기준으로 추출을 원하는 문자수 만큼을 얻어낼 수 있는 함수이지요. 이 엑셀 함수 하나면 앞에서 배운 2개의 함수(left 함수, right 함수)를 대체할 수도 있습니다.


서론이 길어지네요. 본론으로 들어갑니다.


* 엑셀 MID 함수

기능: 문자열을 원하는 위치를 기준으로 두고 원하는 문자수 만큼을 추출할 수 있는 엑셀 문자열 함수입니다.

용법: =MID(문자열, 기준위치, 추출할 문자의 수)


용례1: =MID("KOREA", 3, 2)
용례1의 결과: RE
( "KOREA" 라는 문자열에서 기준위치 3번째부터 추출을 원하는 문자수 2자를 추출합니다. 3번째 문자가 R 이지요. 이 문자를 기준으로 2자를 추출합니다. 기준 위치의 문자 R 을 포함한다는 것도 기억하세요. RE 를 결과로 반환하겠지요.)


용례2: =MID("대한민국", 2, 3)
용례2의 결과: 한민국
( "대한민국" 이라는 문자열에서 2번째 문자를 기준으로 잡고 그 위치포함 3자, "한민국" 을 결과로 반환합니다)


용례3: =MID("우리 나라", 2, 3)
용례3의 결과: 리 나
( 문자열 "우리 나라" 에서 2번째 문자 '리'를 기준위치로 하여 그 문자 포함 3자를 추출합니다. 그런데 '리' 와 '나' 문자 사이에 공백이 1문자 삽입되어 있습니다. ""(쌍따옴표) 로 묶인 문자열에서 공백도 문자로 취급된다고 몇번 말씀드렸습니다. 하여 공백 1문자 포함하여 "리 나" 가 추출된 것입니다.)


용례4: =MID(B4, 8,1)
용례4의결과: B4셀의 값에서 8번째 문자를 기준으로 1글자입니다.  기준위치인 8번째의 문자 1자가 추출되겠지요.


기출 예제: 주민등록번호를 이용하여 성별을 입력하시오. (컴퓨터활용능력 2급 12회 E형)
  - 주민등록번호의 앞에서 여덟번째 숫자가 "1" 또는 "3" 이면 "남자", 아니면 "여자" 로 표시.


기출 풀이: C2 셀에 셀 포인터를 놓고 다음의 수식을 입력합니다.


=IF(OR(MID(B2, 8, 1)="1", MID(B2, 8, 1)="3"), "남자", "여자")


입력후 C7 셀까지 채우기핸들을 사용하여 수식복사합니다.


수식과 문제를 살펴보면 주민번호의 8번째 문자를 추출하여 그 값을 비교합니다. 8번째 문자, 원하는 위치의 문자를 추출하기 위해 엑셀 MID 함수를 사용합니다. 추출된 문자가 "1" 인지 "3" 인지 비교하기 위해 엑셀 IF 함수를사용합니다. 비교할 값이 둘이고 이 두개의 값 중 하나만 만족하면 되기에 논리함수 OR를 사용하였습니다.


수식을 만들 때는 큰 것부터 보고 들어가야 합니다. 비교하셔야 하기에 IF 함수부터 들어갑니다. 그리고 조건을 보니 조건식이 둘이고 이 둘 중 하나만 만족하면 되기에 OR 함수를 내부에 중첩합니다. 이제 비교를 하는데 주민번호 가운데 1문자가 필요하기에 다시 MID함수를 중첩하는 것이지요.


수식을 해석은 잘하는 데 수식을 만드는 것을 어려워하시는 분들은 가장 큰 것 부터 보시고 차례로 들어가다 보면 쉽게 수식이 만들어질 것입니다. 만일 문제가 있으면 수정하시면 되는 것이구요. 엑셀 함수의 중첩에 두려움을 갖고 있는 분들은 문제를 간략화 하여 크게 보는 법을 기르셔야 겠습니다.


@이상이 엑셀 MID함수 입니다. 이번의 LEFT함수, RIGHT함수, 이번의 MID함수까지 이렇게 3개의 함수가 문자열에서 문자를 추출하는 함수이고 엑셀 문자열 함수 중 가장 자주 사용되는 함수입니다. 보셨다시피 사용법도 흡사하구요. 말씀드렸듯이 엑셀은 함수의 기능을 이해하시면 함수의 인수들은 자동으로 기억됩니다.


이번에도 수고 많으셨습니다. ^^  댓글좀 달아 주세요.. 심심해 죽겠어요.ㅠㅠ


* 컴활2급과 컴활3급 함수목록 ver 0.2


댓글