DATEDIF: 재직 기간, 만 나이, 디데이(D-Day) 정확하게 계산하기
안녕하세요! 여러분의 엑셀 해결사, 오피스 파트너입니다.
인사팀이나 총무팀, 혹은 행정 업무를 보시는 분들이라면 이런 계산 앞에서 한숨을 쉬어본 적이 있으실 겁니다.
"이 직원 2018년 5월 1일에 입사해서 오늘 퇴사하는데, 정확한 재직 기간이 몇 년 몇 개월이지?"
엑셀에서 그냥 =오늘 날짜 - 입사일을 하면 어떻게 될까요? 2450 같은 단순한 '총 일수'만 나옵니다. 이걸 다시 365로 나누고, 남은 걸 30으로 나누고... 생각만 해도 머리가 아픕니다.
이럴 때 사용하는 것이 바로 DATEDIF 함수입니다. Date + Difference(차이)의 약자죠. 놀라운 건, 이 함수는 엑셀 메뉴에도 없고 자동 완성도 안 됩니다. 오직 '아는 사람만 타이핑해서 쓰는' 전설의 함수입니다. 오늘 그 비밀을 여러분께만 알려드립니다.

1. DATEDIF: 왜 숨겨져 있을까?
이 함수는 아주 오래전 '로터스 1-2-3'이라는 경쟁 프로그램과의 호환성을 위해 만들어졌습니다. 마이크로소프트가 공식적으로 권장하지는 않지만, 기능이 너무 막강해서 실무자들이 "제발 없애지 말아 달라"라고 해서 남아있는 기능입니다.
그래서 =DA라고 쳐도 힌트가 안 뜹니다. 여러분이 직접 괄호까지 타이핑해야 합니다.
1-1. 사용 공식 (직접 입력 필수!)
* 해석: =DATEDIF(시작일, 종료일, "보고 싶은 단위")
2. 핵심은 '단위(Unit)' 선택에 있다
세 번째 인수인 "단위"에 무엇을 넣느냐에 따라 결과가 완전히 달라집니다. 이 표는 캡처해서 저장해 두세요!
| 단위 | 의미 | 설명 (쉽게 이해하기) |
|---|---|---|
| "Y" | Years | 꽉 채운 년(Year) 수만 계산 |
| "M" | Months | 꽉 채운 개월(Month) 수만 계산 |
| "D" | Days | 총 일(Day) 수 계산 (D-Day 용) |
| "YM" | Years 제외 Months | 1년 미만의 자투리 개월 수 (n년 m개월) |
| "MD" | Months 제외 Days | 1개월 미만의 자투리 일 수 (n개월 d일) |
3. 실전 예제 A: "3년 5개월" 근속 기간 구하기
가장 많이 쓰는 패턴입니다. 총 개월 수가 아니라, "몇 년 몇 개월 근무했는지" 보고 싶을 때입니다.
- 입사일(A2): 2020-01-01
- 퇴사일(B2): 2023-06-15
이때는 수식을 두 번 써서 연결해야 합니다.
- 먼저 "Y"로 년도를 구한다. (3년)
- 그다음 "YM"으로 남은 개월 수를 구한다. (5개월)
- & 기호로 이 둘을 이어 붙인다.
결과: 3년 5개월
이렇게 하면 인사팀에서 바로 쓸 수 있는 완벽한 재직 기간이 산출됩니다.
4. 실전 예제 B: "만 나이" 자동 계산기
우리나라도 이제 '만 나이' 통일법이 시행되었죠? 생일이 지났는지 안 지났는지 따질 필요 없이 DATEDIF 하나면 끝납니다.
공식: 생일로부터 오늘까지 꽉 채운 1년이 몇 번 지났는가?
=DATEDIF(생년월일셀, TODAY(), "Y")
* TODAY() 함수는 오늘 날짜를 자동으로 가져오는 함수입니다. 이렇게 써두면 내년이 되면 나이가 자동으로 1살 올라갑니다.
5. 실전 예제 C: D-Day 구하기 (커플 앱처럼)
"우리 사귄 지 며칠째야?" 또는 "프로젝트 마감까지 며칠 남았어?"
이건 가장 단순한 "D" 옵션을 쓰면 됩니다. 하지만 사실 D-Day는 함수 없이 그냥 빼기(-)를 해도 결과는 같습니다.
- D-Day (남은 기간):
=DATEDIF(오늘, 마감일, "D") - 기념일 (지난 기간):
=DATEDIF(사귄날, 오늘, "D")
만약 사귄 날부터 '1일'로 치고 싶다면 수식 맨 뒤에 +1을 해줘야 합니다.
DATEDIF는 두 날짜의 '간격(차이)'만 구하기 때문입니다.
6. 주의사항: #NUM! 에러가 뜬다면?
DATEDIF를 썼는데 #NUM! 에러가 뜬다면 원인은 100%입니다.
"종료일이 시작일보다 과거이기 때문입니다."
즉, (2024년, 2023년, "Y") 순서로 넣으면 에러가 납니다. 시간은 거꾸로 흐르지 않으니까요. 항상 (과거 날짜, 미래 날짜) 순서로 입력했는지 확인해 보세요.
또한, 아주 드물게 "MD" 단위(일수 계산)에서 엑셀 버전에 따라 1~2일 정도 오차가 발생하는 버그가 보고된 바 있습니다. 정밀한 공학 계산이 아니라면 큰 문제는 없지만, 중요한 계약서 작성 시에는 한 번 더 검산하는 것이 좋습니다.
오늘은 엑셀의 숨겨진 치트키, DATEDIF 함수로 근속 연수와 만 나이를 구하는 법을 알아보았습니다.
정리해 볼까요?
- DATEDIF는 자동 완성이 안 되니 직접 타이핑하자.
"Y"(년),"YM"(개월),"MD"(일) 세 가지 조합만 알면 천하무적!- 시작일은 종료일보다 항상 앞서야 한다.
이 함수 하나만 알아도 인사 총무 업무의 절반은 해결됩니다. 동료가 손으로 날짜 세고 있을 때, 이 함수를 쓱 알려주면 엑셀 고수로 인정받으실 겁니다.
다음 시간에는 날짜 데이터에서 "주말과 공휴일을 뺀 평일(영업일) 수"만 계산하는 NETWORKDAYS 함수에 대해 알아보겠습니다. (예: "프로젝트 기간 중 실제 근무일은 며칠이지?") 다음 글도 기대해 주세요!
도움이 되셨다면 공감 버튼 부탁드립니다. 오늘도 칼퇴하세요!