목차▾
엑셀 EOMONTH 함수란?
엑셀 EOMONTH 함수는 시작 날짜에서 N개월 후/전 월의 마지막 날을 반환하는 날짜 함수입니다. 청구 마감일, 월별 결산, 분기 마지막 날, 월말 보고서 작성에 표준. 윤년 2월말도 자동 처리해서 직접 계산할 필요 없어요.
구문은 =EOMONTH(시작날짜, 개월수) 2인수. 개월수 양수면 미래, 음수면 과거, 0이면 같은 월의 마지막 날. 일자는 무시되고 해당 월의 마지막 날만 반환. Excel 2007+에서 지원.
동작 규칙 — 일자 무시, 윤년 자동
| start_date | months | 결과 | 비고 |
|---|---|---|---|
| 2026-06-25 | 0 | 2026-06-30 | 같은 월 마지막 |
| 2026-06-25 | 1 | 2026-07-31 | 다음 달 마지막 |
| 2026-06-25 | -1 | 2026-05-31 | 지난달 마지막 |
| 2026-02-15 | 0 | 2026-02-28 | 평년 2월 |
| 2024-02-15 | 0 | 2024-02-29 | 윤년 2월 자동 |
| 2026-12-25 | 1 | 2027-01-31 | 연도 자동 넘김 |
→ 윤년 자동 처리 + 일자는 무시 (해당 월의 마지막 날만).
EOMONTH vs EDATE
두 함수는 구조가 같지만 반환이 결정적으로 다름. 정확히 알아야 의도대로 쓸 수 있음.
| 항목 | EDATE | EOMONTH |
|---|---|---|
| 반환 | N개월 후 같은 일자 | N개월 후 월말 |
| 만기일 | ✅ 적합 (같은 날) | ⚠️ 월말 강제 |
| 청구 마감 | 적합 X | ✅ 적합 |
| 1/31 + 1개월 | 2/28 (월말 조정) | 2/28 (월말) |
| 1/15 + 1개월 | 2/15 (같은 일자) | 2/28 (월말 강제) |
→ 만기·정기 결제 = EDATE, 월말·결산·마감 = EOMONTH.
실전 사용 시나리오 10가지
- 이번 달 마지막 날 —
=EOMONTH(TODAY(), 0) - 지난달 마지막 날 —
=EOMONTH(TODAY(), -1) - 다음 달 1일 —
=EOMONTH(TODAY(), 0) + 1 - 이번 달 1일 —
=EOMONTH(TODAY(), -1) + 1 - N개월 후 월말 —
=EOMONTH(시작일, N) - 청구 마감일 (월말) —
=EOMONTH(주문일, 0) - 분기 마지막 날 —
=EOMONTH(DATE(YEAR(A1), 분기*3, 1), 0) - 한 해의 마지막 날 —
=EOMONTH(DATE(YEAR(A1), 12, 1), 0) - 월말까지 남은 일수 —
=EOMONTH(TODAY(), 0) - TODAY() - 월별 일수 (해당 월에 며칠?) —
=DAY(EOMONTH(A1, 0))
월초·월말 묶음 패턴
EOMONTH 하나로 월초·월말 모두 처리 가능. 자주 쓰는 패턴.
이번 달 1일: =EOMONTH(A1, -1) + 1
이번 달 말일: =EOMONTH(A1, 0)
다음 달 1일: =EOMONTH(A1, 0) + 1
지난달 말일: =EOMONTH(A1, -1)
월간 기간 필터(보고서·매출 분석)에 매우 유용. SUMIFS 등과 조합해서 =SUMIFS(매출, 날짜, ">="&EOMONTH(A1,-1)+1, 날짜, "<="&EOMONTH(A1,0)) 이번 달 매출 합계.
자주 발생하는 오류·함정 5가지
- 결과가 시리얼 번호 — 숫자 반환. 셀 서식 → 날짜로 변경
- 일자는 무시됨 — 1/15든 1/31이든 결과는 같음 (해당 월의 마지막 날)
- months = 0의 의미 — "같은 월의 마지막 날" (그대로가 아님). 그대로는 DATE 또는 EDATE
- 텍스트 날짜 —
"2026-06-25"텍스트면 #VALUE!. DATEVALUE 변환 - 너무 먼 과거 — 1900-01-01 이전이면 #NUM!. 시작 날짜에서 너무 멀리 음수 이동 시 주의
자주 묻는 질문
Q. EOMONTH 함수 사용법은?
=EOMONTH(시작날짜, 개월수) 형식입니다. 예: =EOMONTH(TODAY(), 0) → 이번 달 마지막 날, =EOMONTH(TODAY(), 1) → 다음 달 마지막 날. 음수면 과거. 일자는 무시되고 해당 월의 마지막 날만 반환.
Q. EOMONTH와 EDATE의 차이는?
EOMONTH는 월말, EDATE는 같은 일자. EOMONTH("2026-01-15", 1) = 2026-02-28, EDATE("2026-01-15", 1) = 2026-02-15. 청구 마감·결산은 EOMONTH, 만기·정기 결제는 EDATE.
Q. 이번 달 마지막 날을 구하려면?
=EOMONTH(TODAY(), 0). months가 0이라도 해당 월의 마지막 날 반환. 같은 월 일자가 아니라 월말.
Q. 다음 달 1일은?
=EOMONTH(TODAY(), 0) + 1. 이번 달 말일 + 1 = 다음 달 1일. 또는 =DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1).
Q. 윤년 2월말은 어떻게?
EOMONTH가 자동 처리. =EOMONTH("2024-02-15", 0) = 2024-02-29 (윤년), =EOMONTH("2026-02-15", 0) = 2026-02-28 (평년). 직접 계산할 필요 없음.
Q. 해당 월에 며칠 있는지 알려면?
=DAY(EOMONTH(A1, 0)). 월말 일자를 추출. 2026-02 → 28, 2024-02 → 29, 2026-06 → 30, 2026-07 → 31.
Q. 분기 마지막 날은?
=EOMONTH(DATE(YEAR(A1), 분기*3, 1), 0). 분기*3 = 분기 끝 월(1분기=3, 2분기=6, 3분기=9, 4분기=12). 또는 직접: =DATE(YEAR(A1), 분기*3+1, 0).
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. EOMONTH는 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다.
본 페이지는 Microsoft Support 공식 EOMONTH·EDATE 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.