수식을 아무리 봐도 잘 모르곘어요...
주민등록번호를 이용하여 성별과 생년월일을 구하는 문제 인데요!
조건은 아래와 같습니다!
-성별은 주민등록번호 앞에서 여덟 번째 숫자가 짝수이면 "여자" 홀수이면 "남자"로 표시
-주민등록번호의 앞에서 여덟 번째 숫자가 2보다 크면 2000년대에 태어난 것, 아니면 1900년대에 태어난 것임
-IF, DATE, MID, MOD 함수 사용
5번문제에 두가지로 나뉘어진 문제 인데요
5-1) =IF(MOD(MID(B26,8,1),2)=1,"남자","여자")
5-2)=DATE(IF(MID(B26,8,1)>"2","20","19")
이 두가지의 부분들이 이해가 가지 않네요 ...
아시는 분들 부탁드려요ㅠㅠㅠㅠㅠㅠㅠㅠㅠ.....
1.
mod(나누고자하는값, 나눌값)
으로 2로 값을 나누겠다는 뜻입니다.
주민번호 8번째 자리의 값이
1 과 3이면 2로 나눴을때 나머지가 1이 되므로 "남자" 가 되고
2와 4이면 2로 나눴을때 나머지가 0이 되므로 1이 아닌것이 되어 거짓값인 "여자" 가 나오게 되는 것이죠.
mid 함수는 주민등록번호에서 8번째 자리의 값을 구하기 위한것입니다.
2.
DATE(IF(MID(B26,8,1)>"2","20","19")&MID(B26,1,2),MID(B26,3,2),MID(B26,5,2))
date(년,월,일)
입니다.
IF(MID(B26,8,1)>"2","20","19")&MID(B26,1,2),
까지는 년을 구하기 위한 것입니다.
mid 에서 나온 값이 2 초과 이면 즉 3이나 4이면 "20" 을 붙이고
2초과가 아니면 즉 1,2 이면 "19" 를 붙입니다.
이것은 주민등록번호에서 - 다음 자리 즉 8번째 자리가 1,2 이면 19~ 년 도 생이고
3,4 이면 2000 년도 라는 것이죠.
그래서 if 에서 나온 값 20 에 MID(B26,1,2), 에서 나온 값 04 를 연결 하여 2004 로 표시 하기 위한 것입니다.
850302 라면 1985 가 되겠죠.
MID(B26,3,2),MID(B26,5,2))
세번째 mid 는 850302 에서 03 즉 월을 구하기 위한 것이고
네번째 mid 는 850302 에서 02 즉 일을 구하기 위한 것입니다.
이렇게 date 함수에서 필요한 년,월,일 값을 구하기 위해 mid 가 4번 사용된 것이죠.
좋은 하루 되세요.
-
*2014-06-26 13:54:19
1.
mod(나누고자하는값, 나눌값)
으로 2로 값을 나누겠다는 뜻입니다.
주민번호 8번째 자리의 값이
1 과 3이면 2로 나눴을때 나머지가 1이 되므로 "남자" 가 되고
2와 4이면 2로 나눴을때 나머지가 0이 되므로 1이 아닌것이 되어 거짓값인 "여자" 가 나오게 되는 것이죠.
mid 함수는 주민등록번호에서 8번째 자리의 값을 구하기 위한것입니다.
2.
DATE(IF(MID(B26,8,1)>"2","20","19")&MID(B26,1,2),MID(B26,3,2),MID(B26,5,2))
date(년,월,일)
입니다.
IF(MID(B26,8,1)>"2","20","19")&MID(B26,1,2),
까지는 년을 구하기 위한 것입니다.
mid 에서 나온 값이 2 초과 이면 즉 3이나 4이면 "20" 을 붙이고
2초과가 아니면 즉 1,2 이면 "19" 를 붙입니다.
이것은 주민등록번호에서 - 다음 자리 즉 8번째 자리가 1,2 이면 19~ 년 도 생이고
3,4 이면 2000 년도 라는 것이죠.
그래서 if 에서 나온 값 20 에 MID(B26,1,2), 에서 나온 값 04 를 연결 하여 2004 로 표시 하기 위한 것입니다.
850302 라면 1985 가 되겠죠.
MID(B26,3,2),MID(B26,5,2))
세번째 mid 는 850302 에서 03 즉 월을 구하기 위한 것이고
네번째 mid 는 850302 에서 02 즉 일을 구하기 위한 것입니다.
이렇게 date 함수에서 필요한 년,월,일 값을 구하기 위해 mid 가 4번 사용된 것이죠.
좋은 하루 되세요.