홈 › 엑셀 수식·함수

날짜 차이 수식 (DATEDIF)

DATEDIF는 함수 목록에 안 나오는 숨은 함수지만 모든 엑셀에서 동작해요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요
구하는 것수식미리 계산

DATEDIF, 기간을 년·월·일로 쪼개는 방식

날짜 차이는 언제 계산하나요

입사일로 근속 연수를 적어야 하는 인사 서류, 계약 시작일과 종료일로 기간을 적는 계약서 부속표, 장비 도입일로 사용 개월 수를 따지는 자산 대장처럼 ‘두 날짜 사이가 얼마나 되나’를 묻는 칸은 어디에나 있어요. 날짜끼리 빼면 일수는 바로 나오지만, ‘5년 5개월’처럼 사람이 읽는 단위로 바꾸려면 달마다 길이가 다른 문제를 처리해야 해요. DATEDIF가 그 계산을 대신해 줘요.

사용 방법

시작일 셀 칸에 1번, 종료일 셀 칸에 2번, 마지막 날 포함 선택에 3번 표시가 붙은 화면

1단계셀 주소와 마지막 날 포함 정하기

  1. ① 시작일이 들어 있는 셀 주소를 적어요.
  2. ② 종료일 셀을 비우면 수식에 TODAY()가 들어가서 파일을 열 때마다 오늘 기준으로 바뀌어요.
  3. ③ 계약 기간처럼 끝나는 날까지 하루로 쳐야 하면 ‘포함’을 골라요. 종료일 뒤에 +1이 붙어요.
미리 계산 날짜 칸에 4번, 수식과 결과 표에 5번 표시가 붙은 화면

2단계실제 날짜로 미리 계산하기

  1. ④ 날짜 두 개를 고르면 표의 ‘미리 계산’ 열이 그 날짜로 채워져요. 수식에는 영향을 주지 않아요.
  2. ⑤ 아홉 가지 수식이 한 표에 나오고, 줄마다 복사 버튼이 있어요.

년·개월·일로 쪼개는 원리

DATEDIF는 시작일에서 햇수를 먼저 꽉 채우고, 남은 기간에서 개월을 채우고, 마지막에 남은 날을 세요. 2021년 5월 20일부터 2026년 11월 9일까지라면 2026년 5월 20일까지 5년, 10월 20일까지 5개월, 남은 20일로 ‘5년 5개월 20일’이에요. 전체 개월 수("M")는 65, 전체 일수("D")는 1,999예요.

DATEDIF가 기간을 나누는 순서2021년 5월 20일부터 2026년 11월 9일까지를 2026년 5월 20일까지 꽉 찬 5년, 10월 20일까지 5개월, 남은 20일로 나눠요. 전체 개월 수는 65, 전체 일수는 1,999예요.해 → 개월 → 일 순서로 채워요"Y" 꽉 찬 5년"YM" 5개월"MD" 20일2021-05-202026-05-2010-2011-09결과: 5년 5개월 20일"M" 전체 개월 = 65"D" 전체 일수 = 1,9995년×12 + 5개월 = 65개월
시작일에서 해를 먼저 채우고, 남은 기간을 개월과 일로 나눠요.

‘마지막 날 포함’이 왜 필요한지는 1년 계약으로 보면 분명해요.

기간 2026-01-01 ~ 2026-12-31포함 안 함포함 (+1일)
"Y" 햇수01
"M" 개월1112
"D" 일수364365
○년 ○개월 ○일0년 11개월 30일1년 0개월 0일

퇴직금처럼 일수가 기준이 되는 계산에는 "D" 줄이나 ‘단순 빼기’ 줄을 쓰고, 경력 증명처럼 사람이 읽는 표기가 필요하면 ‘○년 ○개월 ○일’ 줄을 써요. 두 결과는 같은 기간을 다르게 보여 줄 뿐이에요.

미리 계산 열을 읽을 때

더 궁금한 점

여러 사람의 근속 기간을 한꺼번에 구하려면요?

첫 사람 행의 주소(예: A2)로 수식을 만들어 붙여 넣은 뒤 아래로 끌어 복사하면 A3, A4로 바뀌며 채워져요. 종료일을 TODAY()로 두면 모든 행이 같은 오늘을 기준으로 계산돼요.

예제 엑셀에서 TODAY() 대신 다른 칸이 들어가 있어요.

예제 파일은 결과가 열 때마다 바뀌지 않도록 TODAY()를 연습 데이터의 A11 칸으로 바꿔 넣어요. 내 파일에 쓸 때는 도구 화면의 수식을 복사하면 TODAY()가 그대로 들어가요.

종료일 칸에 날짜를 직접 적어도 되나요?

2026-12-31을 그대로 적으면 수식에 따옴표 없이 들어가서 엑셀이 2026에서 12와 31을 빼는 뺄셈으로 계산해 엉뚱한 결과가 나와요. 날짜는 시트의 칸에 넣고 그 칸 주소를 적거나, 수식을 받은 뒤 DATE(2026,12,31)로 바꿔 쓰세요.

근속 기간을 ‘○년 ○개월’까지만 적고 싶어요.

표의 ‘○년 ○개월’ 줄을 복사하세요. "Y"와 "YM" 두 결과를 &로 이어 붙인 수식이라 남은 일수는 버려져요.

DATEDIF 단위 정리

단위뜻예 (2019-03-04 → 2026-11-09)
"Y"꽉 찬 햇수7
"M"꽉 찬 개월 수92
"D"일수2,807
"YM"햇수를 빼고 남은 개월8
"MD"개월을 빼고 남은 일5

=DATEDIF(시작일, 종료일, 단위)에서 시작일은 반드시 종료일보다 같거나 빨라야 해요. 반대면 #NUM! 오류가 나요. 종료일에 TODAY()를 넣으면 파일을 열 때마다 오늘 기준으로 다시 계산돼요.

자주 쓰는 곳

주의할 점

"MD" 단위는 달의 길이에 따라 이상한 값이 나오는 경우가 있다고 마이크로소프트가 안내하고 있어요(특히 월말 날짜). 일 단위까지 정확해야 하면 결과를 한 번 더 확인하세요. 날짜가 글자로 저장돼 있으면(2026.11.9처럼 점 표기) #VALUE! 오류가 나니 날짜 형식으로 바꿔 넣으세요.

자주 묻는 질문

DATEDIF를 입력해도 자동 완성이 안 떠요.

숨은 함수라 목록에 안 나와요. 끝까지 직접 입력하면 정상으로 계산돼요.

오늘 기준으로 계속 바뀌게 하려면요?

종료일 칸을 비우면 TODAY()가 들어가요. 파일을 열 때마다 다시 계산돼요.

1년 미만은 몇 개월로 보여 주고 싶어요.

=IF(DATEDIF(A2,TODAY(),"Y")=0,DATEDIF(A2,TODAY(),"M")&"개월",DATEDIF(A2,TODAY(),"Y")&"년")처럼 IF로 나누면 돼요.

함께 쓰면 좋은 도구