엑셀에서 주민번호의 정보를 가지고 생년월일을 함수를 이용하여 추출하는 방법이 있습니다.
함수를 이용한 다소 간단한 방법은 아니지만 문자 열에 글자 위치와 날짜 데이터로 변환하는 함수이니 내용을 천천히 익혀 두시면 생년월일 뿐만 아니라 문자열에서 원하는 데이터를 추출하여 조합할 수 있습니다.
엑셀에서 문자열 추출하는 MID 함수
MID 함수는 선택한 문자열의 지정한 위치로 부터 원하는 문자수만큼 문자열을 변환하는 함수입니다.
즉, 문자열 또는 셀에 포함된 문자열 중 사용자가 원하는 위치로 부터 지정한 수만큼 추출하여 텍스트로 변환하는 함수인데요. 함수 표현은 다음과 같습니다.
=MID(문자열,시작위치,글자수) |
=MID 함수를 작성 한 뒤에 추출할 주민번호 셀을 선택합니다. 그리고 년도에 해당하는 부분까지 입력하면 결과 값으로 생년월일 추출되게 됩니다.
주민번호 앞 자리를 MID함수를 이용하여 추출하는 방법은 간단하지만 년도와 월,일 표시를 더욱 깔끔하게 하기 위해서는 다음과 같은 과정이 필요합니다.
추출하는 단위를 쪼개어 ‘&’ 연산자를 사용하였습니다.
=MID(D6,1,2)&”년”& MID(D6,3,2) &”월”&MID(D6,5,2)&”일” |
첫 글자에서 2번째 까지는 ‘년도’ & 3번째 글자 부터 2번째 까지는 ‘월’ & 5번째 글자 부터 2번째 까지는 ‘일’ 이라는 함수로 해석할 수 있습니다. 추출하는 범위를 정확하게 지정한 후 & 연산자를 넣어 연속해 주면 그대로 추출할 수 있습니다.
마지막으로 년도가 2자리로 표시되지 않고 4자리로 완벽한 년도를 완성하기 위하여 다음과 같은 함수를 추가해 주세요.
=DATE(MID(D6,1,2),MID(D6,3,2),MID(D6,5,2)) |
=DATE 함수를 입력 후 좌측 fx를 클릭하여 함수 인수 창에서 year, month,day를 확인 후 창을 종료합니다.
함수를 종료하면 년도 수가 4자리로 표시되어 완성되게 됩니다.
하지만 1900년 대가 아닌 2000년 생을 표시하기에는 오류가 생기기 때문에 IF 함수를 추가해 주어야 합니다.
=DATE(IF(OR(MID(D6,8,1)=”3″,MID(D6,8,1)=”4″),20,19)&MID(D6,1,2),MID(D6,3,2),MID(D6,5,2)) |
현재 년도 수까지 포함하며 주민번호의 8번째 성별을 표시하는 숫자가 3, 4 종류로 분류되기 때문에 IF 함수 중 추출하는 숫자의 8번째 성별 숫자를 포함하여 함수를 표시해 두었습니다. 1900년 대에는 성별을 3,4로 표기 하지 않기 때문에 주민번호 추출 시 이 부분을 체크하여 생년월일을 추출하는 함수 이기도 합니다.
주민번호의 8번째 성별이 1,2 이면 1900년 대, 성별이 3,4 이면 2000년대로 인식하여 추출하게 됩니다.
생년월일을 추출하는 방법을 조금 더 심화적으로 함수를 포함하여 추출해 보았습니다.
1900년대와 2000년대의 생년월일을 추출하는 부분을 포함 시켜야 하기 때문에 길어진 함수인데요.
조금만 익숙해 진다면 쉽게 작업할 수 있는 함수이니 참고하면 좋을 것 같습니다.