
DATE · EOMONTH · EDATE로 날짜 계산 끝! (월말·N개월 뒤·말일 자동 1분 컷)
계약 만기일, 정산일, 청구주기… 달력 보지 말고 DATE·EDATE·EOMONTH로 자동 계산하세요. 말일·윤년·월 길이까지 깔끔히 처리됩니다.
핵심 개념 & 문법
| 함수 | 형식 | 설명 |
|---|---|---|
| DATE | =DATE(year, month, day) | 연·월·일을 결합해 유효한 날짜 생성(월/일 넘침 자동 보정) |
| EDATE | =EDATE(start_date, months) | 기준 날짜로부터 months개월 전/후의 같은 일자(없으면 말일로 보정) |
| EOMONTH | =EOMONTH(start_date, months) | 기준 날짜로부터 months개월 전/후의 말일 |
TIP: 계산은 날짜 그대로 두고, 표시는 TEXT(날짜,"yyyy-mm-dd")로 분리하세요.
DATE로 날짜 만들기
예제 1) 연·월·일이 분리된 데이터
=DATE(A2, B2, C2)
예제 2) 월/일 넘침 자동 보정
=DATE(2025, 2, 30) // → 2025-03-02
=DATE(2025, 13, 5) // → 2026-01-05
N개월 전/후 — EDATE
예제 3) 계약 시작일로부터 12개월 만기
=EDATE(A2, 12)
예제 4) 결제일(매월 같은 일자) 계산
=EDATE(A2, 1) // 다음 달 같은 날
=EDATE(A2, -1) // 이전 달 같은 날
중요 31일처럼 존재하지 않는 일자는 자동으로 말일로 보정됩니다.
말일 구하기 — EOMONTH
예제 5) 이번 달 말일 / 다음 달 1일
=EOMONTH(TODAY(), 0) // 이번 달 말일
=EOMONTH(TODAY(), 0) + 1 // 다음 달 1일
예제 6) 기준일에서 3개월 뒤 말일
=EOMONTH(A2, 3)
실무 템플릿 6가지
① 청구 주기: 거래일 기준 다음달 말일 청구
=EOMONTH(A2, 1)
② 정산 주기: 당월 말일 정산, 미정산 이월
=IF(A2<=EOMONTH(TODAY(),0),"정산 대상","다음 달")
③ 구독 만료일(시작일 + N개월)
=EDATE(A2, N)
④ 분기 말일
=EOMONTH(DATE(YEAR(A2), CEILING(MONTH(A2),3), 1), 0)
⑤ 월초(해당 월 1일) 구하기
=EOMONTH(A2, -1) + 1
⑥ 텍스트 날짜 정규화(yyyy-mm-dd로)
=TEXT(DATEVALUE(A2), "yyyy-mm-dd")
지역 형식이 섞이면 먼저 SUBSTITUTE로 구분자를 통일하세요.
자주 하는 실수 & 함정
- 텍스트 날짜 → 셀 정렬이 왼쪽이면 텍스트일 가능성.
DATEVALUE로 변환. - 롤오버 오해 → 1/31 + 1개월 = 2월 말일(EDATE 자동 보정). 의도와 맞는지 확인.
- 1900/1904 시스템 → 파일 간 이동 시 기준이 다르면 날짜가 4년 차이 날 수 있음. 파일 ▸ 옵션 ▸ 고급 ▸ 1904 날짜 시스템 체크 상태를 통일.
- 표시/계산 분리 → 계산은 날짜 값, 표시는
TEXT로. TEXT 결과를 다시 계산에 쓰지 않기.
요약 정리
| 목표 | 대표 공식 |
|---|---|
| N개월 뒤/전 | EDATE(기준, months) |
| 말일 | EOMONTH(기준, months) |
| 월초 | EOMONTH(기준,-1)+1 |
| 연·월·일 조합 | DATE(Y,M,D) |
FAQ
말일에서 N영업일 뒤 날짜는?
=WORKDAY(EOMONTH(A2,0), N) (공휴일 범위를 3번째 인수로 추가 가능)
윤년 2월 처리도 자동인가요?
네, DATE/EDATE/EOMONTH는 윤년 규칙을 자동 반영합니다.