from: http://secstart.tistory.com/147

* 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함수를 내부에 중첩합니다. 이제 비교를 하는데 주민번호 가운데 한문자가 필요하기에 다시 MID함수를 중첩하는 것이지요.

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

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


Posted by 세모아