Menu

엑셀 나이 계산: 생년월일로 만 나이 구하기

=DATEDIF(B2,TODAY(),"Y")는 B2의 날짜에 태어난 사람의 만 나이를 반환합니다. 특정 날짜 기준 나이, 년/개월/일로 나타낸 나이, DATEDIF 없이 나이 구하기를 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=DATEDIF(B2,TODAY(),"Y")는 B2의 날짜에 태어난 사람의 만 나이를 반환합니다. DATEDIF는 두 날짜 사이의 꽉 찬 햇수를 세고 TODAY()가 두 번째 날짜를 주므로, 나이는 생일마다 한 살씩 늘어납니다.

생년월일로 나이 구하기
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

C열의 나이는 오늘 날짜로 계산되므로 해가 지나면서 바뀝니다. B열의 생년월일을 바꾸면 옆의 나이가 따라 바뀝니다. 수식에는 인수가 세 개 있습니다. 시작일(생년월일), 종료일(오늘), 그리고 단위로, 꽉 찬 햇수는 "Y"입니다.

특정 날짜 기준 나이

학년 시작일이나 계약일처럼 정해진 날의 나이를 구하려면 그 날짜를 셀에 넣고 TODAY() 대신 그 셀을 씁니다. $F$2의 $는 수식을 아래로 채울 때 참조를 F2에 고정합니다.

기준일의 나이
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

2026-10-01에 Ana는 36세이고 Dan은 47세입니다. 10월 10일인 Dan의 생일이 아직 오지 않았기 때문입니다. F2를 2026-10-10으로 바꾸면 Dan은 48세가 됩니다. 이 방식은 파일을 열 때마다 같은 결과를 내므로, 나이가 보고서에 들어갈 때 중요합니다. 다른 단위는 DATEDIF 페이지를 보세요.

년, 개월, 일로 나타낸 나이

DATEDIF에는 꽉 찬 햇수 뒤에 남는 부분을 위한 단위가 있습니다. "YM"은 마지막으로 꽉 찬 해 이후의 개월 수를, "MD"는 마지막으로 꽉 찬 달 이후의 일수를 셉니다. 세 값을 &로 이어 나이를 텍스트로 쓰세요.

년, 개월, 일
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

1990-05-14부터 2026-10-01까지는 36년 4개월 17일입니다. Microsoft는 "MD" 단위를 권장하지 않습니다. 생일이 31일인 경우처럼 일부 경우에 음수나 잘못된 일수를 반환할 수 있기 때문입니다. 생일이 29일에서 31일 사이라면 일수를 확인하세요.

DATEDIF 없이 나이 계산하기

DATEDIF는 모든 엑셀 버전에서 동작하지만 함수 목록과 수식 자동 완성에 나오지 않으므로 YEARFRAC를 선호하는 사람도 있습니다. YEARFRAC(start,end,1)는 각 해의 실제 길이로 세어(기준 1) 두 날짜 사이의 햇수를 소수로 반환합니다. INT가 소수 부분을 버립니다.

DATEDIF와 YEARFRAC 비교
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

두 열은 36, 47, 16으로 일치합니다. INT가 없으면 마지막 행의 YEARFRAC는 약 16.24를 반환하는데, 통계 시트처럼 나이를 소수로 써야 할 때 유용합니다.

365로 나누면 안 되는 이유

흔한 지름길은 =INT((F2-B2)/365), 즉 산 날수를 한 해의 날수로 나누는 것입니다. 윤년이 4년마다 하루를 더하므로, 수십 년이 지나면 이 수식은 생일보다 며칠 먼저 다음 나이에 도달합니다. 48번째 생일이라면 12일 일찍입니다.

365로 나누면 생일 근처에서 틀립니다
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

1978-10-10에 태어난 사람의 경우 365로 나누면 48번째 생일 9일 전인 2026-10-01에 48세가 됩니다. DATEDIF는 47세라고 합니다. 365.25로 나누면 대부분의 행은 맞지만 일부 날짜에서는 여전히 틀리므로 DATEDIF나 YEARFRAC를 쓰세요.

연습: 입학일 기준 나이

직접 해 보기
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: C2에서 E2의 날짜를 기준으로 Ana의 만 나이를 구하세요.

숨은 검사는 E2의 날짜를 바꾸므로 수식이 그 셀을 읽어야 합니다.

나이가 날짜로 보이는 이유

이미 날짜가 들어 있는 셀이나 날짜 형식인 열에 나이 수식을 입력하면 엑셀은 날짜 형식을 유지해 36을 1900-02-05(엑셀 날짜 체계의 36번째 날, 미국 설정에서는 2/5/1900)로 보여 줍니다. 그 아래의 숫자는 맞습니다. 셀을 선택하고 홈 > 표시 형식 > 일반을 고르면(또는 Ctrl+Shift+~, Mac에서는 Control+Shift+~) 나이가 나타납니다.

자주 묻는 질문

엑셀에서 나이를 계산하는 수식은 무엇인가요?

생년월일이 B2에 있다면 =DATEDIF(B2,TODAY(),"Y")입니다. 생일부터 오늘까지 꽉 찬 햇수를 세므로 나이는 생일 전이 아니라 생일 당일에 한 살 늘어납니다.

엑셀에서 특정 날짜 기준으로 나이를 계산하려면 어떻게 하나요?

날짜를 셀에 넣고 TODAY() 대신 그 셀을 씁니다. =DATEDIF(B2,$F$2,"Y")는 F2의 날짜 기준 나이를 냅니다. $ 기호는 수식을 아래로 채울 때 F2를 고정합니다.

DATEDIF 없이 엑셀에서 나이를 계산하려면 어떻게 하나요?

=INT(YEARFRAC(B2,TODAY(),1))를 씁니다. YEARFRAC는 두 날짜 사이의 햇수를 소수로 반환하고, INT가 정수 부분만 남깁니다.

나이 수식이 1900-01-30 같은 날짜로 보이는 이유는 무엇인가요?

셀이 날짜 형식이라 나이 30이 엑셀 달력의 30번째 날로 표시되기 때문입니다. 셀을 선택하고 홈 > 표시 형식을 일반으로 바꾸세요.

나이를 계산할 때 365로 나누면 왜 틀리나요?

윤년이 4년마다 하루를 더하므로 =INT((TODAY()-B2)/365)는 생일을 며칠 일찍 셉니다. 1978-10-10에 태어난 사람은 이 수식으로 2026-10-01에 48세가 되는데, 실제로 48세가 되기 9일 전입니다. DATEDIF는 달력의 연도를 세므로 이런 오류가 없습니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기