할머니, 생년월일을 알면
엑셀에서 나이계산을 할 수 있나요?
그럼. 그전에 계산식부터 생각해 보자.
수학으로 식만 구할 수 있다면
엑셀에서는 대부분 구현할 수 있으니.
2000년생이라고 가정해 볼까?
2000년에 태어나면 2000년에는 1살,
2001년에는 2살, 2002년에는 3살...
그럼 2018년에는 몇 살일까?
19살이겠죠.
그럼 식은 어떻게 될까?
현재 년도에서 태어난 년도를 뺀 다음
1을 더하면 나이가 되겠네요.
한국식 나이는 그렇게 계산하지.
물론 요즘 사람들은 싫어하는 것 같다만.
하긴, 1월 1일에 태어난 사람과 12월 31일에 태어난
사람이 년도가 같다고 나이가 같으면 조금 이상하겠구나.
아무튼 엑셀로 나이를 계산한다면 이렇게 되겠지.
=YEAR(TODAY()) - YEAR (생년월일) +1
TODAY는 뭐죠?
TODAY는 오늘 날짜를 반환하는 함수란다.
괄호 안에는 아무것도 넣을 필요 없단다.
*만약 TODAY 함수가 자동으로 업데이트되지 않는다면
파일 - 옵션 - 수식 - 계산 옵션에서 자동을 선택합시다.
그럼 만 나이도 계산 가능할까요?
만 나이 계산법은 아니?
만 나이는 말 그대로 만(滿), 1년을 꽉 채워야 한 살이 된다는 뜻이죠.
2000년 5월 5일에 태어난 사람은
2001년 5월 5일이 되어야 만으로 한 살인 거죠.
원래 나이에서 만 나이를 구하는 법도 아니?
생일이 안 지났으면 원래 나이-2,
생일이 지나면 원래 나이-1이죠.
그럼 엑셀로 만 나이를 구하기 귀찮겠네요.
IF 함수를 이용해서 생일이 지났는지 안 지났는지 검사한 다음에...
아니다 민호야.
놀랍게도 만 나이를 구하는 함수가
엑셀에 있단다.
정말요?
정확히 말해서 만 나이를 위해 만든
함수는 아니지만 말이다.
바로 DATEDIF 함수란다.
DATEDIF요?
DATEDIF는 두 날짜 사이 경과한 기간을 구하는 함수란다.
경과한 날짜, 경과한 달수, 경과한 년도수를 구할 수 있지.
그럼 경과한 년도수가...
그렇단다. DATEDIF함수로 생년월일과
현재 날짜 사이 경과한 년도수를 구하면, 그게 자동으로 만 나이가 되겠지.
DATEDIF 함수를 쓰는 법을 알려주세요!
물론이다.
=DATEDIF( 생년월일 , 오늘 날짜, "Y")
여기서 "Y"는 연도 수를 계산하라는 정보 형식이란다.
* 다른 정보형식은 다음과 같습니다.
"M"은 개월 수 계산 "D"는 날짜 수 계산 "MD"는 월과 연도를 무시한 날짜 차이 (예 : 2001년 8월 1일과 2002년 9월 2일은 "MD"로 1일 차이) "YM"는 일과 연도를 무시한 개월 차이 "YD"는 연도를 무시한 날짜 차이 |
그럼 할머니,
주민번호를 엑셀에 넣고 만 나이를 알 수 있을까요?
생년월일을 알면 한국식 나이도 만 나이도
위에서 설명한 방법으로 계산할 수 있지.
그러니까, 주민번호로 생년월일만 추출하면 되는 거군요.
그렇단다.
주민번호 앞 여섯 자리가
각각 생년월일의 년도, 월, 일이잖니.
내가 한번 단순한 생년월일 추출 수식을 만들어 봤다.
XX가 셀 주소일 때 :
=IF( MID(XX, 10, 1)<"3","19", "20") &LEFT(XX, 2)&"-"&MID(XX, 3, 2)&"-"&MID(XX, 5, 2)
아, MID함수는 텍스트를 추출하니까,
두 글자씩 추출해서 생년월일을 만드는군요.
그런데 IF함수는 왜 있죠?
그 사람이 21세기 출생자일 수도 있잖니.
21세기에 태어나면 뒷자리가 3과 4로 시작한단다.
그래서 뒷자리가 3보다 작으면
20세기 출생자라서 년도에 "19"를 붙이고
3 이상이면
21세기 출생자니까 년도에 "20"을 붙이게 했단다.
단순하면서도 좋은 수식이네요.
마이크로소프트가 차라리 나이계산 함수를 만들어 줬으면 좋겠는데...
함수를 직접 만들고 싶니?
후후후...
다음 화에 계속...