본문 바로가기
카테고리 없음

엑셀(Excel): 주민번호로 연령, 성별, 생일 구하기 - DATEDIF, DATE, VALUE, TEXT 함수 활용

by 알깬새 2025. 1. 24.

DATE, VALUE, TEXT, LEFT, MID, DATEDIF 함수를 이용해서 주민번호로 연령, 성별, 생일 구하기

이제는 자동화가 보편화되다 보니, 이제는 굳이 엑셀(Excel)의 함수를 가지고 이와 같은 일을 할 필요가 거의 없어졌다.
하지만, 그래도 누군가는 어디에서 엑셀이라는 도구를 가지고 데이터(DATA)로부터 정보(Information)를 가공하는 일을 할 것이다.

그래서, 이번에는 복잡하지 않은 함수들을 활용하는 방법에 대하여 이야기 해 보려 한다.

 

주민번호라는 DATA가 위와 같이 있고, 빈 칸을 채워보자



주민번호라는 데이터를 가지고, 성별, 연령, 생일이라는 정보를 추출해 내는데, 여기에서 사용하는 함수들은 위에서 언급한 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에서 날짜와 관련한 대부분의 정보를 가공할 수 있다. 

 

datedif.xlsx
0.02MB



[공지] 여기에 나오는 이름과 주민번호는 모두 가상으로 만든 것이다. 

 

 

🌻=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=🌻

      내용이 괜찮았다면 공감 ❤️을 눌러 주세요.    

      당신의 응원과 구독 🛎️이 큰 힘이 됩니다.     

 

 

반응형

댓글