[Excel 실무] 엑셀 날짜 계산 필수 함수 3선 (DATEDIF 근속기간, EDATE 만기일, EOMONTH 말일)

💡 핵심 요약: 엑셀에서 날짜는 단순 숫자로 빼기(=B2-A2)만 하면 일(Day) 수만 나오기 때문에 연차나 개월 수를 계산하기 어렵습니다. ① 입사일 기준 근속연수(몇 년 몇 개월)를 구할 때는 DATEDIF, ② 3개월/1년 뒤 정확한 계약 만료일을 찍을 때는 EDATE, ③ 매월 마지막 날(28/30/31일) 정산일을 뽑을 때는 EOMONTH를 사용하는 것이 실무 표준입니다.

인사 관리에서 직원의 근속기간이나 퇴직금 산정일을 계산할 때, 또는 영업·총무팀에서 유지보수 계약 만기일이나 월말 정산 마감일을 잡을 때 달력을 넘겨가며 일일이 손으로 계산하는 경우가 많습니다.

윤달이나 30일/31일 말일 변동 때문에 발생하는 날짜 오차를 100% 잡아주고, 수식 하나로 수백 명의 인사·계약 데이터를 자동화하는 실무 필수 날짜 함수 3대장의 문법과 결합 팁을 상세히 정리해 드립니다.

1. 실무 날짜 계산 3대 핵심 함수 비교

각 함수가 해결해 주는 실무 업무 영역을 한눈에 비교해 보겠습니다.

1️⃣ DATEDIF (기간 계산)
• 두 날짜 사이의 연·월·일 차이
• 근속연수 / 만 나이 / 재직일수
• “몇 년 몇 개월 근무했는가?”
2️⃣ EDATE (만기일 계산)
• 기준일로부터 N개월 전/후 날짜
• 계약 갱신일 / 구독 만료일
• “계약 후 정확히 6개월 뒤는?”
3️⃣ EOMONTH (말일 계산)
• 해당 월/다음 달 마지막 날(말일)
• 세금계산서 마감 / 월말 정산
• “이번 달 마지막 날짜는?”
[다이어그램 1] 실무 날짜 처리 3대 핵심 함수의 역할 분담

2. [DATEDIF] 입사일 기준 ‘X년 X개월’ 근속기간 완벽 계산

DATEDIF는 엑셀 함수 마법사 목록에는 숨겨져 있지만 전 세계 실무자가 가장 애용하는 비밀 함수입니다.

기본 문법 구문:
=DATEDIF(시작일, 종료일, “옵션단위”)
• “Y”: 총 햇수(년 수) 반환
• “M”: 총 개월 수 반환
• “D”: 총 일수 반환
• “YM” (핵심): 연도를 뺀 나머지 잔여 ‘개월 수(0~11)’ 반환
• “MD” (핵심): 연도와 월을 뺀 나머지 잔여 ‘일수(0~30)’ 반환
실무 텍스트 결합 완성 공식 (입사일=B2 셀, 오늘 기준):
=DATEDIF(B2, TODAY(), “Y”) & “년 ” & DATEDIF(B2, TODAY(), “YM”) & “개월 ” & DATEDIF(B2, TODAY(), “MD”) & “일”

👉 출력 결과: 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
1) EDATE 만기일 공식: =EDATE(기준일, 더할_개월수)
=EDATE(B2, 12) → 12개월 뒤 같은 날짜 반환 (음수 입력 시 N개월 전 반환)
2) EOMONTH 말일 공식: =EOMONTH(기준일, 개월수)
=EOMONTH(B2, 0) → 0은 당월 말일(3월 31일), 1은 다음 달 말일(4월 30일) 반환

4. 날짜 수식 후 숫자로 깨질 때 해결법 (표시 형식)

=EDATE(B2, 12)를 입력했는데 결과가 2027-03-15가 아니라 `46463` 같은 이상한 5자리 숫자로 나오는 경우가 있습니다.

• 원인: 엑셀은 1900년 1월 1일을 1로 시작해 날짜를 하루마다 1씩 증가하는 일련번호로 저장하기 때문입니다.
• 1초 해결법: 해당 셀을 누르고 Ctrl + Shift + 3 (#) 단축키를 누르면 즉시 YYYY-MM-DD 날짜 형태로 예쁘게 변환됩니다.

5. 실무자가 가장 자주 겪는 3대 날짜 오류 해결

1. #NUM! 에러: 시작일이 종료일보다 미래인 경우

DATEDIF는 1번째 인수(시작일)가 2번째 인수(종료일)보다 반드시 과거여야 합니다. 순서가 뒤바뀌면 계산할 수 없어 #NUM! 오류를 뱉습니다.

2. 텍스트 날짜 인식 불가 (점 ‘.’ 구분 기호)

2026.03.15처럼 마침표로 입력된 날짜는 엑셀이 문자로 인식해 함수가 먹히지 않습니다. Ctrl + H(바꾸기)로 .을 -(하이픈)으로 변경해 주세요.

3. 월말 말일 처리의 오차 방지

5월 31일에서 1달 뒤를 구할 때 단순 +30을 더하면 6월 30일이 되지만, 2월(28일)이나 7~8월(31일 연속)에서는 날짜가 어긋납니다. 반드시 EDATE나 EOMONTH를 써야 합니다.

함께 읽으면 업무 효율이 2배가 되는 실무 가이드

월별 만년 달력 양식과 다중 조건 논리 IF 함수 활용법도 함께 확인해 보세요.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤