
DATE · EDATE · EOMONTH로 날짜 만들기·월 이동·말일 구하기 끝! (납기·말일·회계월 1분 컷)
텍스트 날짜로 고생 끝! DATE/EDATE/EOMONTH로 안전한 날짜를 만들고, ±N개월 이동과 월초/월말을 한 번에 계산하세요.
문법 & 차이
| 함수 | 형식 | 포인트 |
|---|---|---|
| DATE | =DATE(year, month, day) | 연·월·일을 결합해 유효 날짜 생성(넘침 자동 보정) |
| EDATE | =EDATE(start_date, months) | 기준에서 ±months개월 이동(같은 일자 기준) |
| EOMONTH | =EOMONTH(start_date, months) | ±months 이동 후 그 달의 말일 |
TODAY/NOW와 결합해 “이번 달/지난 달/다음 달”을 동적으로 계산합니다.
안전한 날짜 생성 — DATE
연·월·일 열에서 날짜 만들기
=DATE(A2, B2, C2)
“2025-13-05”처럼 월이 넘친 경우도 자동 보정
=DATE(2025, 13, 5) // 2026-01-05
±N개월 이동 — EDATE
청구일로부터 3개월 후 만기
=EDATE(B2, 3)
보험 시작일 기준 과거 1년(12개월) 전
=EDATE(B2, -12)
말일·월초 — EOMONTH
해당 월 말일
=EOMONTH(B2, 0)
해당 월 초(월말의 다음날)
=EOMONTH(B2, -1) + 1
회계월 라벨(YYYY-MM)
=TEXT(EOMONTH(B2,0), "yyyy-mm")
실무 패턴 10가지
① 현재 월/분기/반기 범위
=EOMONTH(TODAY(),-1)+1 // 월초
=EOMONTH(TODAY(),0) // 월말
② 납기일이 ‘말일’인 계약
=EOMONTH(시작일, 개월수)
③ 결제일이 말일이면 31→30/28 자동 보정
=EDATE(EOMONTH(시작일,0), n) // n개월 뒤 같은 ‘말일’ 성질 유지
④ 월별 집계 키(피벗/요약용)
=EOMONTH(날짜,0)
⑤ 월초~월말 필터
=FILTER(데이터, (날짜>=EOMONTH(G2,-1)+1)*(날짜<=EOMONTH(G2,0)))
⑥ 카운트: 해당 월 주문 건수
=COUNTIFS(날짜, ">="&EOMONTH(G2,-1)+1, 날짜, "<="&EOMONTH(G2,0))
⑦ 회계연도 월(4월 시작)
=EDATE(날짜, -3) // 3개월 당겨 일반 연도 기준으로 맞춤
⑧ 분기 라벨
="Q"&ROUNDUP(MONTH(날짜)/3,0)&" "&YEAR(날짜)
⑨ 달력 테이블(월초부터 42칸)
=SEQUENCE(6,7, EOMONTH(B2,-1)+1 - WEEKDAY(EOMONTH(B2,-1)+1,2), 1)
⑩ WORKDAY와 결합(말일 이전 D+N 영업일)
=WORKDAY(EOMONTH(날짜,0), -N, HOL)
실수 & 체크리스트
- 텍스트 날짜 → DATEVALUE/NUMBERVALUE로 변환.
- 시간 포함 셀 →
INT()로 날짜만 사용 후 시간 더하기. - 말일 로직 일관성 → “말일 규칙 유지”는 EOMONTH→EDATE 조합.
- 현지 포맷 → 표시서식은 지역 맞춤, 계산은 날짜값(시리얼)로.
요약
| 목표 | 대표 공식 |
|---|---|
| 안전한 날짜 만들기 | DATE(연,월,일) |
| ±N개월 이동 | EDATE(기준,N) |
| 말일/월초 | EOMONTH(기준,0) / EOMONTH(기준,-1)+1 |
| 월별 집계 키 | EOMONTH(날짜,0) |