엑셀 실무

엑셀 EDATE로 월별 계약 갱신일 계산하고 말일 경계 확인하기

문서루틴 2026. 9. 14. 08:00

EDATE 갱신일 계산 문구와 스프레드시트 셀과 수식 입력줄 그래픽 요소를 담은 엑셀 실무 가이드 대표 이미지

 

Excel에서 EDATE로 같은 일자의 갱신일을 개월 단위로 계산할 수 있으며, 대상 월에 그 날짜가 없으면 말일 조정이 일어납니다. 계약이 매월 말일 기준이라면 EOMONTH를 선택해야 합니다.

핵심 요약

기본 수식은 =EDATE(시작일,갱신개월)입니다. 31일처럼 대상 월에 없는 날짜는 그 달의 마지막 유효일로 내려가므로, 고정 예상일과 PASS 검사 열을 함께 두어야 합니다.

1

계약 원장에서 먼저 확인할 갱신 규칙

핵심 월별 계약 원장에는 시작일과 갱신 주기만 있고 다음 갱신일을 담당자가 매번 수동으로 입력하고 있어, 2월과 윤년 경계에서 날짜를 잘못 적기 쉽습니다. 먼저 계약서의 기준이 ‘매월 같은 일자’인지 ‘매월 마지막 날’인지 구분해야 합니다.

Microsoft 공식 문서에 따르면 EDATE는 시작일과 개월 수를 인수로 받아 지정한 개월 수 전후의 날짜를 반환합니다. 개월 수가 양수면 미래, 음수면 과거로 이동합니다.

자료: Microsoft Support, EDATE function 및 Add or subtract dates, 2026-09-12 확인

이 글의 수식은 Microsoft 365와 Excel 2024·2021·2019·2016을 기준으로 합니다. 날짜 표시 방식은 운영체제와 지역 설정에 따라 달라도 셀에 저장된 날짜값과 계산 결과는 구분해서 확인할 수 있습니다.

2

EDATE와 EOMONTH를 선택하는 기준

비교 계약일과 같은 일자를 유지하는 것이 원칙이면 EDATE를 사용합니다. 처음부터 매월 말일이 갱신 기준이라면 시작일의 일자와 무관하게 대상 월의 마지막 날을 반환하는 EOMONTH가 맞습니다.

같은 일자 기준
EDATE는 같은 일자를 우선해 개월 수만 이동합니다. 대상 월에 그 일자가 없으면 마지막 유효일로 조정됩니다.
매월 말일 기준
EOMONTH는 대상 월의 마지막 날을 반환합니다. 28일·29일·30일·31일 중 그 달의 실제 말일이 결과가 됩니다.
연쇄 계산에서 일자가 밀리는 조건

매월 갱신일을 앞선 결과에서 다시 계산하면 1월 31일→2월 28일→3월 28일처럼 일자가 밀릴 수 있으므로, 최초 시작일과 누적 개월 수로 계산하거나 ‘매월 말일’ 계약에는 EOMONTH를 사용하세요.

자료: Microsoft Support, EDATE function 및 EOMONTH function, 2026-09-12 확인

3

원장에 EDATE와 검사 수식 넣기

실전 계산 결과만 만들지 말고 사람이 정한 예상갱신일과 대조하는 검사 열까지 구성합니다. 예제의 데이터는 6행에서 시작합니다.

계약 갱신일 계산 순서
1단계
열 준비
A5:F5에 계약번호, 시작일, 갱신개월, 계산갱신일, 예상갱신일, 검사를 입력합니다.
2단계
날짜 입력
B6:B13에는 텍스트가 아닌 Excel 날짜값을 입력하고 날짜 형식을 적용합니다.
3단계
개월 수 입력
C6:C13에 시작일에서 이동할 정수 개월 수를 넣습니다.
4단계
갱신일 계산
D6에 =EDATE(B6,C6)을 입력합니다.
5단계
예상일 대조
F6에 =IF(D6=E6,"PASS","FAIL")를 입력합니다.
6단계
아래로 채우기
D6과 F6의 수식을 각각 13행까지 채워 모든 계약을 계산합니다.

실제 계약 원장을 수정하기 전에는 복사본에서 수식과 날짜 형식을 시험하세요. 결과가 46068 같은 숫자로 보이면 계산 오류가 아니라 날짜 일련번호 표시일 수 있으므로 결과 열에 날짜 형식을 적용합니다.

4

8건으로 28·29·30·31일 경계 검산하기

아래 예제는 평일형 시작일, 28·29·30·31일, 윤년 2월 29일과 2개월 이동을 섞었습니다. 계산갱신일이 고정 예상갱신일과 같으면 검사 결과는 PASS입니다.

1900 날짜 시스템에서 시작일과 갱신개월별 EDATE 예상 결과
계약번호 시작일 갱신개월 계산갱신일 예상갱신일 검사
C-001 2026-01-15 1개월 2026-02-15 2026-02-15 PASS
C-002 2026-01-28 1개월 2026-02-28 2026-02-28 PASS
C-003 2026-01-29 1개월 2026-02-28 2026-02-28 PASS
C-004 2026-01-30 1개월 2026-02-28 2026-02-28 PASS
C-005 2026-01-31 1개월 2026-02-28 2026-02-28 PASS
C-006 2024-01-31 1개월 2024-02-29 2024-02-29 PASS
C-007 2024-02-29 12개월 2025-02-28 2025-02-28 PASS
C-008 2026-01-31 2개월 2026-03-31 2026-03-31 PASS

2026년 1월 29·30·31일에서 1개월을 이동하면 모두 2026년 2월 28일이 됩니다. 윤년인 2024년에는 1월 31일의 한 달 뒤가 2월 29일로 조정됩니다.

C-008처럼 최초 시작일 2026-01-31에 2개월을 직접 더하면 2026-03-31입니다. 이는 2월 28일 결과에 다시 1개월을 더하는 연쇄 계산과 구분해야 합니다.

검산용 통합 문서 구성

8건의 입력값, EDATE 수식, 고정 예상일, PASS 검사 열을 같은 구조로 확인하세요.

example-workbook.xlsx
0.01MB
검증 예제 스프레드시트: 8건의 계약 시작일, 갱신개월, EDATE 계산갱신일, 예상갱신일과 PASS 검사 열
5

PASS와 계약 조건으로 갱신일 확정하기

주의 Microsoft 공식 문서상 시작일이 유효한 날짜가 아니면 EDATE는 #VALUE! 오류를 반환합니다.

개월 수에 소수가 들어가면 반올림하지 않고 소수 부분을 버리므로 갱신 주기는 정수로 관리하는 편이 안전합니다.

검사 열이 PASS여도 계약 조건이 ‘매월 말일’인데 EDATE를 골랐다면 함수 선택부터 다시 확인해야 합니다. 수식의 일치와 계약 기준의 일치는 별개의 완료 조건입니다.

F6:F13이 모두 PASS인지 확인합니다.
모든 계약의 계산 갱신일이 예상일과 일치하고 말일 사례도 통과한다.
월말 기준 계약은 EDATE 연쇄 계산 대신 EOMONTH 또는 최초 시작일 기준 누적 개월 수를 선택합니다.
숫자가 보이면 날짜 서식을 적용하고, 텍스트 날짜나 소수 개월 수가 남아 있으면 입력을 고친 뒤 다시 계산합니다.
참고 자료

* 본문의 기능과 절차는 위 공식 문서와 재현 예제를 기준으로 확인했습니다. 프로그램·버전과 확인일은 해당 설명에 표시했습니다.