Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

엑셀(Excel)/Excel
반응형

이전 포스팅에서는 주민번호에서 생년월일을 추출할 때 텍스트 나누기 기능을 이용했었습니다. 이번에는 함수를 이용해서 추출해 볼 것입니다. 작업에 이용할 함수는 문자열을 자를 수 있는 MID 와 추출한 년, , 일에 해당하는 숫자를 조합해서 날짜 데이터로 변환할 DATE 함수를 이용할 것입니다. 이번 포스팅에 내용만 잘 익히시면 문자열에서 자신이 원하는 부분을 추출하는데 어려움이 없을 겁니다.

 

먼저 문자열을 추출하는 MID 함수에 대해 알아 보겠습니다. 함수의 원형은 다음과 같습니다.

 

MID (문자열, 글시작위치, 글자크기)

 

l 문자열 : 추출할 데이터나 셀 주소를 입력한다.

l 글 시작 위치 : 추출할 데이터의 시작 위치를 입력한다.

l 글자크기 : 추출할 글자 개수를 입력한다. 공백도 포함된다.

 

 

첫 번째 인수에 글을 넣고 시작 위치와 추출할 글자 크기를 입력해 주면 잘라서 반환하게 됩니다. 그림처럼 MID(C3, 1, 2) 를 하게 되면 주민번호에서 년도에 해당하는 부분을 잘라 내게 됩니다.

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

이렇게 주민번호 앞 자리에서 MID 함수를 이용해 생년월일을 추출해 줍니다. 그리고 숫자 뒤에 년, , 일을 표시 하기 위해 문자열을 합치는 “&” 연산자를 사용했습니다. 그렇게 해서 그림과 같은 결과가 나왔습니다

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

그런데 추출한 생년이 완전하지 않습니다. 앞에 19 혹은 20 이 빠진 것이죠. 이렇게 빠진 값을 추가해서 완성된 년도를 만들기 위해서 DATE 함수를 이용해야 합니다. DATE 함수는 인수로 입력된 년, , 일 값을 날짜 형식으로 변환 시킵니다. 수식 입력기에서 DATE 를 입력하고 fx 클릭하게 되면 함수 인수 창이 뜹니다. 이곳에 주민번호에서 추출한 년, , 일을 입력합니다

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.

엑셀 Excel 함수 주민번호 태어난 요일 추출하

엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법

엑셀 주민번호로 나이 구하기

엑셀 Excel 주민번호나 카드번호 뒷자리 별표처리 하는 방법

셀 Excel 사용자 주민 번호에서 생일 데이터 추출하는 방법

 

 

결과는 그림과 같이 완성된 형태의 날짜가 되었습니다. 그런데 문제가 있습니다. 2000년 이후에 태어난 사람의 주민번호는 앞자리가 “00” 입니다. DATE 함수의 첫 번째 인수로 입력하게 되면 “2000” 이 아닌 “1900” 으로 표현이 됩니다

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

이것을 해결하기 위한 방법은 IF 함수를 이용하는 것입니다. 그리고 2000년도 태생인지 구분하는 방법은 두 가지 입니다. 주민번호 제일 앞에 숫자가 0 이거나 주민번호 뒷부분 첫 번째 숫자가 3, 4 일 때입니다. 3은 남자이며, 4는 여자입니다. 저는 앞자리가 0 일 때 2000년도와 1900 년도를 구분했습니다.

 

 

=IF(MID(C3,1,1)="0", "20","19") & MID(C3,1,2)

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

위에서 구한 년도를 DATE 함수의 첫 번째 인수로 넘깁니다. 그리고 다른 셀에도 드래그 해서 적용해 줍니다. 이상으로 2000년도 태생의 주민번호를 포함해서 생년월일을 뽑는 방법에 대해 알아 보았습니다.

 

 

=DATE(IF(MID(C3,1,1)="0", "20","19") & MID(C3,1,2),MID(C3,3,2),MID(C3,5,2))

엑셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.

엑셀 Excel 함수 주민번호 태어난 요일 추출하

엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법

엑셀 주민번호로 나이 구하기

엑셀 Excel 주민번호나 카드번호 뒷자리 별표처리 하는 방법

셀 Excel 사용자 주민 번호에서 생일 데이터 추출하는 방법

반응형
Posted by 녹두장군

댓글을 달아 주세요

  1. 엑셀초보 2014.10.07 10:46  댓글주소  수정/삭제  댓글쓰기

    도움 많이 됐습니다 ! 감사합니다 :)

  2. Favicon of http://허ㅓ허헣 사람임 2015.11.02 14:57  댓글주소  수정/삭제  댓글쓰기

    음메,.~`~~~~~~~~~~~~~~허헣~!

  3. 강T 2016.07.20 12:26  댓글주소  수정/삭제  댓글쓰기

    =DATE(IF(OR(MID(C3,8,1)="3",MID(C3,8,1)="4"),20,19)&MID(C3,1,2),MID(C3,3,2),MID(C3,5,2))
    이 표현이 더 정확할 것 같아요 16년생까지 있으니까요 ^^