엑셀(Excel): 주민번호로 연령, 성별, 생일 구하기 - DATEDIF, DATE, VALUE, TEXT 함수 활용
DATE, VALUE, TEXT, LEFT, MID, DATEDIF 함수를 이용해서 주민번호로 연령, 성별, 생일 구하기
이제는 자동화가 보편화되다 보니, 이제는 굳이 엑셀(Excel)의 함수를 가지고 이와 같은 일을 할 필요가 거의 없어졌다.
하지만, 그래도 누군가는 어디에서 엑셀이라는 도구를 가지고 데이터(DATA)로부터 정보(Information)를 가공하는 일을 할 것이다.
그래서, 이번에는 복잡하지 않은 함수들을 활용하는 방법에 대하여 이야기 해 보려 한다.
주민번호라는 데이터를 가지고, 성별, 연령, 생일이라는 정보를 추출해 내는데, 여기에서 사용하는 함수들은 위에서 언급한 VALUE, DATE, TEXT, LEFT, MID, DATEDIF이다.
성별 구하는 수식
=IF(OR(VALUE(MID(D3,8,1))=1,VALUE(MID(D3,8,1))=3,VALUE(MID(D3,8,1))=5),"남","여")
성별을 나타내는 정보는 주민번호의 생년월일 다음에 대시(-)에 이어지는 첫번째 숫자다.
VALUE(MID(D3,8,1))로 그 숫자를 구해서, 1이나 3 또는 5이면 남자, 아니면 여자다.
연령 구하는 수식
=IF(VALUE(LEFT(D3,2))<25,DATEDIF(DATE(VALUE(LEFT(D3,2))+2000,MID(D3,3,2),MID(D3,5,2)),INT(TODAY()),"Y"),DATEDIF(DATE(VALUE(LEFT(D3,2))+1900,MID(D3,3,2),MID(D3,5,2)),INT(TODAY()),"Y"))
날짜를 셀 때 주로 쓰는 함수는 DATEDIF이다. 연령은 연수를 계산하면 되는 것이니, 변수를 "Y"로 하면 된다.
다소 수식이 복잡한데, 몇 가지 이유가 있다.
2000년이후에 태어난 사람들과 1900년 초반에 태어난 사람들 사이의 출생연도 구분이 필요하다.
그래서 올해를 기준으로 25보다 작은 경우는 2000년대 이후 출생자로, 그 외는 1900년대 출생자로 했다.
(만약 1925년이전 출생자가 포함된 데이터가 있다면, 따로 관리해야 한다.)
생년월일은 주민번호에서 앞에 6자리이므로, DATE(VALUE(LEFT(D3,2))+2000,MID(D3,3,2),MID(D3,5,2)) 등을 이용해서 YYYY-MM-DD의 형식으로 추출한다.
만약, 연령기준일을 특정하고 싶다면, TODAY() 대신에 "2025-01-01"처럼 원하는 날짜를 입력해 주면 되겠다.
생일 구하는 수식
=VALUE(MID(D3,3,2))&"월"&VALUE(MID(D3,5,2))&"일"
생일은 주민번호 앞에 6자리 중 연도를 제외한 3번째와 4번째 숫자가 월을, 5번째와 6번째 숫자가 일을 나타낸다.
따라서, VALUE(MID(D3,3,2))로 월을 추출하고, VALUE(MID(D3,5,2))로 일을 추출하면 된다.
위에 설명한 내용들을 응용하면, DATA에서 날짜와 관련한 대부분의 정보를 가공할 수 있다.
[공지] 여기에 나오는 이름과 주민번호는 모두 가상으로 만든 것이다.
🌻=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=🌻
내용이 괜찮았다면 공감 ❤️을 눌러 주세요.
당신의 응원과 구독 🛎️이 큰 힘이 됩니다.