엑셀 날짜 함수 실무 응용|퇴사일 기준 근무기간 자동 계산하기

회사에서 인사자료를 관리하다 보면 ‘입사일~퇴사일까지 근무기간’을 자동으로 계산해야 할 때가 많습니다.
직원 수가 많을수록 수작업으로 계산하기 어렵기 때문에, 엑셀 날짜 함수를 활용하면 인사관리 효율이 크게 올라갑니다.
이번 글에서는 DATEDIF, TODAY, IF 함수를 활용해 퇴사일이 입력되면 자동으로 근무기간을 계산하는 예제를 실무 중심으로 정리해봤습니다.
1. 날짜 함수 기본 개념 정리
① TODAY 함수: 오늘 날짜를 자동으로 표시합니다.


② DATEDIF 함수: 두 날짜 간의 차이를 계산하는 함수입니다.
단위 설명
- "Y" → 연도
- "M" → 개월
- "D" → 일수
예시) =DATEDIF(A2, B2, "Y")
→ 입사일(A2)부터 퇴사일(B2)까지 총 근무연수를 계산합니다.


③ IF 함수 : 조건에 따라 다른 값을 표시할 때 사용합니다.
퇴사일이 공란인 경우 “현재 근무 중”으로 자동 계산하도록 설정할 수 있습니다.
2. 실무 예제: 근무기간 자동 계산표
| 성명 | 입사일 | 퇴사일 | 근무연수 | 근무개월 | 근무일수 |
| 김사원 | 2020-03-01 | 2024-09-30 | ? | ? | ? |
| 수라라 | 2022-07-15 | (공란) | ? | ? | ? |
퇴사일이 입력된 경우에는 퇴사일까지 계산하고, 공란인 경우에는 오늘 날짜 기준으로 계산하도록 수식을 구성합니다.
📌 근무연수 계산식
=DATEDIF(B2, IF(C2="", TODAY(), C2), "Y")

📌 근무개월 계산식
=DATEDIF(B2, IF(C2="", TODAY(), C2), "M")

📌 근무일수 계산식
=DATEDIF(B2, IF(C2="", TODAY(), C2), "D")

📌 퇴사일이 비어 있을 때 ‘현재근무중’ 문구 표시까지 하고 싶다면 아래와 같이 IF문을 확장할 수 있습니다.
=IF(C2="", "현재근무중", DATEDIF(B2, C2, "Y") & "년 " & DATEDIF(B2, C2, "YM") & "개월")
👉 퇴사일이 공란이면 “현재근무중”, 입력되어 있으면 “4년 6개월” 형태로 표시됩니다.


3. “년 + 개월” 형태로 보기 좋게 표시하기
단순 숫자보다 “3년 8개월 근무”처럼 보이면 더 직관적이죠.
다음과 같이 & 연산자를 활용하면 쉽게 조합할 수 있습니다.
👉 결과: 4년 6개월 근무

원리를 간단히 정리하면,
- "Y" : 전체 연도 차이
- "YM" : 연도 차이를 제외한 남은 개월 수
- "&" : 텍스트와 수식을 이어주는 연결 기호
4. 자주 발생하는 오류와 해결법
⚠ #NUM! 오류
DATEDIF 함수는 시작일이 종료일보다 늦을 때 발생합니다.
예를 들어, 퇴사일이 입사일보다 빠르거나 날짜 서식이 올바르지 않으면 오류가 납니다.
✅ 해결 방법
- 입사일 < 퇴사일 순서인지 확인
- 날짜가 텍스트로 저장되어 있다면
→ 셀 서식 → “날짜”로 변경 - 테스트용으로 아래 수식 입력결과가 숫자면 정상, #VALUE!면 날짜 인식이 안 된 상태입니다.
- =E6-D6
-
결과가 숫자면 정상, #VALUE!면 날짜 인식이 안 된 상태입니다.
5. 실무 응용 팁
✔ 퇴사일 빠르게 입력하기
퇴사일 셀에서 단축키 Ctrl + ; → 오늘 날짜 자동 입력
✔ 조건부 서식으로 퇴사자 구분
퇴사일 셀이 비어있지 않으면 회색 음영 처리 등으로 시각화
✔ 연차일수 계산에도 확장 가능
NETWORKDAYS 함수를 추가하면 근무일수에서 주말·공휴일 제외 계산도 가능합니다.
✅ 마무리
단순히 입사일과 퇴사일을 입력하는 것보다,
DATEDIF, TODAY, IF 함수를 조합하면 근무기간이 자동 계산되는 인사관리표를 만들 수 있습니다.
#NUM! 오류처럼 자주 헷갈리는 부분만 잡아두면,
퇴사자 정산·연차계산·계약관리까지 한 번에 처리 가능한 자동화 시트로 발전시킬 수 있습니다. 😊