- 최초 작성일: 1999-11-14
- 최종 수정일: 2026-09-29
- 조회수: 33 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 주민등록번호로 나이 알아내기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
질문 메일
주민등록번호로 나이를 환산할 수 있는 방법이 있으면 알려주세요.
주민등록번호로 나이 알아내기
핵심 요약
- 주민등록번호 앞 여섯 자리에서 LEFT와 MID 함수로 연·월·일 값을 추출합니다.
- 추출한 값을 DATE 함수로 날짜로 만들고 YEAR로 출생연도를 구합니다.
- 현재 연도와 출생연도의 차이를 계산해 나이를 구하는 수식으로 구성할 수 있습니다.
지금까지 배우신 함수들을 잘 활용한다면 이 정도는 충분히 해결하실 수가 있겠지요?
| 주민등록번호 | 나이 |
| 681113-1674436 | 1900-02-02 |
| 720818-2222222 | 1900-01-29 |
참고: 위 표의 나이 열에 1900-02-02, 1900-01-29처럼 날짜로 표시된 값은 각각 일련번호 33과 29를 날짜 서식으로 보여 준 것입니다. 나이 숫자로 보려면 결과 셀의 서식을 일반이나 숫자로 지정해야 합니다. 또한 결과는 수식을 실행하는 해에 따라 달라지며, 2026년에 계산하면 각각 58과 54가 됩니다.
위의 빨간 셀에는 아래와 같은 수식이 들어 있습니다.
보시는 것처럼 날짜 관련 함수들과 문자열 관련 함수들을 조합하였습니다.
수식은 별도의 설명이 필요없으리만치 간단합니다.
해서 설명은 드리지 않겠습니다. ^^
참고: 이 수식은 올해와 출생 연도의 차이만 구하므로 올해 생일이 지났는지는 반영하지 않습니다. 또한 DATE 함수는 두 자리 연도를 1900년대로 해석하기 때문에 주민등록번호 뒷자리가 3이나 4인 2000년 이후 출생자는 나이가 맞지 않습니다. 수식의 B17은 원본 워크시트의 셀 주소이므로 직접 적용하실 때에는 자신의 셀 주소로 바꿔 입력하시기 바랍니다.
=YEAR(TODAY())-YEAR(DATE(LEFT(B17,2),MID(B17,3,2),MID(B17,5,2)))
오늘은 짧게 여기까지…
정리 — 주민등록번호로 나이 알아내기
| 구분 | 내용 |
|---|---|
| 목적 | 주민등록번호로 나이 알아내기 |
| 사용 함수 | 날짜 함수(YEAR, TODAY, DATE)와 문자열 함수(LEFT, MID)의 조합 |
| 공식 | =YEAR(TODAY())-YEAR(DATE(LEFT(B17,2),MID(B17,3,2),MID(B17,5,2))) |
| 원리 | 앞 6자리를 연 2자리, 월 2자리, 일 2자리로 잘라 DATE로 생년월일을 만든 뒤 올해와의 연도 차이를 구함 |
| 주의 | 결과 셀에 날짜 서식이 있으면 숫자가 날짜처럼 보이므로 일반 서식으로 바꾸어 확인 |
자주 묻는 질문 (FAQ)
Q1. 주민등록번호로 나이를 구하려면 어떻게 하나요?
LEFT와 MID 함수로 주민등록번호의 연 월 일 부분을 잘라 DATE 함수로 생년월일을 만들고, YEAR 함수로 올해와의 연도 차이를 계산합니다.
Q2. 결과가 나이가 아니라 날짜처럼 표시되는 이유는 무엇인가요?
결과 셀에 날짜 서식이 지정되어 있기 때문입니다. 셀 서식을 일반이나 숫자로 바꾸면 나이 숫자가 표시됩니다.
Q3. 이 공식은 항상 정확한가요?
연도 차이만 계산하므로 올해 생일이 지났는지는 반영하지 않으며, 두 자리 연도는 1900년대로 해석되어 2000년 이후 출생자는 맞지 않습니다.
마치며
함수를 조합하면 주민등록번호 같은 문자열에서도 필요한 값을 뽑아낼 수 있으니 직접 응용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.