💡 핵심 요약: 엑셀에서 날짜는 단순 숫자로 빼기(=B2-A2)만 하면 일(Day) 수만 나오기 때문에 연차나 개월 수를 계산하기 어렵습니다. ① 입사일 기준 근속연수(몇 년 몇 개월)를 구할 때는 DATEDIF, ② 3개월/1년 뒤 정확한 계약 만료일을 찍을 때는 EDATE, ③ 매월 마지막 날(28/30/31일) 정산일을 뽑을 때는 EOMONTH를 사용하는 것이 실무 표준입니다.
인사 관리에서 직원의 근속기간이나 퇴직금 산정일을 계산할 때, 또는 영업·총무팀에서 유지보수 계약 만기일이나 월말 정산 마감일을 잡을 때 달력을 넘겨가며 일일이 손으로 계산하는 경우가 많습니다.
윤달이나 30일/31일 말일 변동 때문에 발생하는 날짜 오차를 100% 잡아주고, 수식 하나로 수백 명의 인사·계약 데이터를 자동화하는 실무 필수 날짜 함수 3대장의 문법과 결합 팁을 상세히 정리해 드립니다.
1. 실무 날짜 계산 3대 핵심 함수 비교
각 함수가 해결해 주는 실무 업무 영역을 한눈에 비교해 보겠습니다.
2. [DATEDIF] 입사일 기준 ‘X년 X개월’ 근속기간 완벽 계산
DATEDIF는 엑셀 함수 마법사 목록에는 숨겨져 있지만 전 세계 실무자가 가장 애용하는 비밀 함수입니다.
• “M”: 총 개월 수 반환
• “D”: 총 일수 반환
• “YM” (핵심): 연도를 뺀 나머지 잔여 ‘개월 수(0~11)’ 반환
• “MD” (핵심): 연도와 월을 뺀 나머지 잔여 ‘일수(0~30)’ 반환
👉 출력 결과: 3년 5개월 12일 (매일 시트를 열 때마다 오늘 날짜 기준으로 근속기간이 자동 업데이트됨)
3. [EDATE & EOMONTH] 만기일 및 월말 마감일 처리
[실무 계약 및 정산 데이터 예시표]
| 계약업체 | 계약시작일 (B열) | 계약기간 | 1년 뒤 만기일 (=EDATE) | 당월 말일 마감 (=EOMONTH) |
|---|---|---|---|---|
| (주)삼동안전 | 2026-03-15 | 12개월 | 2027-03-15 | 2026-03-31 |
| (주)한국물류 | 2026-05-31 | 6개월 | 2026-11-30 | 2026-05-31 |
=EDATE(기준일, 더할_개월수)=EOMONTH(기준일, 개월수)4. 날짜 수식 후 숫자로 깨질 때 해결법 (표시 형식)
=EDATE(B2, 12)를 입력했는데 결과가 2027-03-15가 아니라 `46463` 같은 이상한 5자리 숫자로 나오는 경우가 있습니다.
• 원인: 엑셀은 1900년 1월 1일을 1로 시작해 날짜를 하루마다 1씩 증가하는 일련번호로 저장하기 때문입니다.
• 1초 해결법: 해당 셀을 누르고 Ctrl + Shift + 3 (#) 단축키를 누르면 즉시 YYYY-MM-DD 날짜 형태로 예쁘게 변환됩니다.
5. 실무자가 가장 자주 겪는 3대 날짜 오류 해결
DATEDIF는 1번째 인수(시작일)가 2번째 인수(종료일)보다 반드시 과거여야 합니다. 순서가 뒤바뀌면 계산할 수 없어 #NUM! 오류를 뱉습니다.
2026.03.15처럼 마침표로 입력된 날짜는 엑셀이 문자로 인식해 함수가 먹히지 않습니다. Ctrl + H(바꾸기)로 .을 -(하이픈)으로 변경해 주세요.
5월 31일에서 1달 뒤를 구할 때 단순 +30을 더하면 6월 30일이 되지만, 2월(28일)이나 7~8월(31일 연속)에서는 날짜가 어긋납니다. 반드시 EDATE나 EOMONTH를 써야 합니다.
월별 만년 달력 양식과 다중 조건 논리 IF 함수 활용법도 함께 확인해 보세요.