솔직히 고백하자면, 저도 신입 사원 시절엔 달력 펴놓고 손가락으로 날짜 셌습니다.
“김 대리, 이번에 승진 대상자 근속연수랑 개월 수 좀 정확히 뽑아와.”
부장님의 이 한 마디에 식은땀 흘려본 경험, 다들 있으시죠? 엑셀 좀 한다고 단순 빼기(-) 수식을 썼다가 윤년 계산이 틀려서 인사팀에 불려 갔던 아찔한 기억이 아직도 생생하네요. 날짜 계산, 겉보기엔 쉬워 보여도 막상 정확하게 하려면 정말 골치 아픈 영역입니다.
하지만 DATEDIF 함수 하나만 제대로 알면 상황은 180도 달라집니다. 복잡한 근속연수, 정확한 개월 수, 심지어 디데이 계산까지 단 3초면 끝낼 수 있거든요.
1. 엑셀 도움말에도 없는 히든 함수 DATEDIF의 비밀
2. 근속연수, 개월 수, 일수를 한 번에 구하는 만능 공식
3. 자주 뜨는 #NUM! 오류 초간단 해결법
오늘 이 글을 끝까지 읽으신다면, 더 이상 달력을 보며 한숨 쉴 일은 없을 거예요. 여러분의 칼퇴를 책임질 엑셀 날짜 계산의 치트키, 지금 바로 공개합니다.
1. 엑셀 도움말에도 없는 유령 함수?
참 이상하죠? 엑셀에서 `=DA`까지만 쳐도 관련 함수들이 주르륵 나오는데, 유독 DATEDIF는 자동 완성이 안 됩니다. 그래서 많은 분들이 “이거 없는 함수 아니야?”라고 생각하시더라고요.
사실 이 함수는 ‘호환성’을 위해 존재하는 히든 함수입니다. 로터스 1-2-3이라는 옛날 프로그램과의 호환을 위해 만들어졌지만, 기능이 너무 막강해서 실무자들 사이에선 필수 함수로 자리 잡았죠.
기본 문법, 딱 이것만 기억하세요
구조는 아주 심플합니다. 시작일과 종료일, 그리고 보고 싶은 형식만 넣어주면 됩니다.
여기서 “단위”가 핵심입니다. 이 단위에 무엇을 넣느냐에 따라 연도만 뽑을 수도, 개월 수만 남길 수도 있죠. 아래 표를 캡처해두고 필요할 때마다 꺼내 보세요.
| 단위 | 설명 | 활용 예시 |
|---|---|---|
| “Y” | 총 연도 수 계산 | 근속 연수, 만 나이 |
| “M” | 총 개월 수 계산 | 할부 개월, 프로젝트 기간 |
| “D” | 총 일수 계산 | D-Day, 총 근무일 |
| “YM” | 연도를 뺀 나머지 개월 수 | N년 N개월 근무 |
| “MD” | 개월을 뺀 나머지 일수 | N년 N개월 N일 근무 |
2. 실전 예제: 인사팀장님께 칭찬받는 근속연수 계산
가장 많이 쓰이는 상황이죠. 입사일과 퇴사일(또는 오늘 날짜)을 기준으로 “몇 년, 몇 개월, 며칠” 근무했는지 정확하게 뽑아보겠습니다.
예를 들어 A1 셀에 입사일, B1 셀에 퇴사일이 있다고 가정해 볼게요.
=DATEDIF(A1, B1, “Y”) & “년 ” & DATEDIF(A1, B1, “YM”) & “개월 ” & DATEDIF(A1, B1, “MD”) & “일”
이 수식이 조금 길어 보여도 원리는 간단합니다.
1. “Y”로 전체 연도를 구하고,
2. “YM”으로 1년 미만의 자투리 개월 수를 구하고,
3. “MD”로 한 달 미만의 자투리 일수를 구해서
4. & (앤퍼샌드) 기호로 텍스트와 연결한 것이죠.
이렇게 하면 “3년 5개월 12일”처럼 아주 깔끔한 결과값이 나옵니다. 이거 하나 만들어두면 평생 써먹습니다.
3. 주의! 자주 만나는 오류 해결법
DATEDIF를 쓰다 보면 당황스러운 에러 메시지를 만날 때가 있습니다. 저도 처음엔 “아니, 시키는 대로 했는데 왜 안 돼?”라며 모니터를 칠 뻔했죠. 대표적인 두 가지 경우만 알면 해결됩니다.
(1) #NUM! 오류가 뜬다면?
가장 흔한 오류입니다. 99%의 확률로 “시작일이 종료일보다 미래”일 때 발생합니다.
예를 들어, 입사일이 2025-01-01인데 종료일에 2024-12-31을 넣으면 엑셀은 “과거로 돌아갈 순 없어!”라며 오류를 뱉어냅니다. 날짜 순서가 바뀌지 않았는지 꼭 체크해 보세요.
(2) #NAME? 오류가 뜬다면?
이건 좀 허무한 경우인데요. 함수 철자를 틀렸을 때 나옵니다. `DATEIFF`라던가 `DATADIF`처럼 오타를 냈을 가능성이 큽니다. 혹은 따옴표(“”)를 빼먹었을 때도 발생하죠. 단위인 “Y”, “M”에는 반드시 큰따옴표를 붙여야 한다는 점, 잊지 마세요!
4. 200% 활용을 위한 심화 꿀팁 (FAQ)
단순 계산을 넘어, 실무에서 마주하는 디테일한 상황들에 대한 해법을 정리했습니다. 이 부분은 캡처해두시면 정말 유용할 거예요.
Q1. 오늘 날짜 기준으로 자동으로 계산되게 하려면요?
종료일 자리에 TODAY() 함수를 넣으면 됩니다.
`=DATEDIF(A1, TODAY(), “Y”)`
이렇게 입력하면 매일매일 파일을 열 때마다 오늘 날짜 기준으로 근속연수나 나이가 자동으로 업데이트됩니다.
Q2. ‘만 나이’ 계산도 가능한가요?
네, 완벽하게 됩니다. 생년월일이 A1 셀에 있다면 `=DATEDIF(A1, TODAY(), “Y”)`라고 입력하세요. DATEDIF 함수는 기본적으로 날짜가 꽉 차야 1을 카운트하기 때문에, 생일이 지나지 않았다면 나이가 올라가지 않습니다. 한국식 세는 나이가 아닌, 법적 ‘만 나이’를 계산할 때 가장 정확한 방법입니다.
Q3. WORKDAY 함수랑은 뭐가 달라요?
이 질문 정말 많이 하시는데요.
– DATEDIF: 주말, 공휴일 상관없이 단순히 ‘흐른 시간(달력 기준)’을 계산합니다.
– NETWORKDAYS: 주말과 공휴일을 뺀 ‘실제 근무 가능 일수’를 계산합니다.
따라서 급여 계산을 위한 ‘실근무일’이 필요하다면 NETWORKDAYS를, 경력 증명서상의 ‘재직 기간’이 필요하다면 DATEDIF를 쓰셔야 합니다. 용도가 완전히 달라요!
- ✔ 시작일과 종료일 순서가 바뀌지 않았는가?
- ✔ 옵션(“Y”, “M” 등)에 큰따옴표를 붙였는가?
- ✔ 텍스트 연결 시 & 기호를 빠뜨리지 않았는가?
- ✔ 날짜 형식이 텍스트가 아닌 날짜 서식으로 되어 있는가?
마치며: 이제 칼퇴근은 여러분의 것입니다
지금까지 엑셀 날짜 계산의 핵심, DATEDIF 함수에 대해 알아봤습니다. 처음엔 낯설어 보이던 “Y”, “YM”, “MD” 같은 옵션들도, 막상 직접 써보니 별거 아니라는 생각이 들지 않으시나요?
이 함수 하나만 잘 활용해도 인사 관리, 프로젝트 일정 관리, 개인적인 기념일 챙기기까지 업무 효율이 비약적으로 올라갑니다. 더 이상 수동으로 날짜를 세다가 실수해서 스트레스받는 일이 없기를 바랍니다.
입사일부터 오늘까지 며칠인지 계산해 보세요!
여러분의 소중한 시간이 숫자로 확인되는 순간, 엑셀이 더 재미있어질 겁니다.





