ExcelDATEYEARMONTHDAY

엑셀 DATE / YEAR / MONTH / DAY

날짜를 분해(YEAR·MONTH·DAY)하고 다시 합성(DATE)하는 짝꿍 4함수

4함수 수식 구조

=YEAR(날짜)→ 연도 (1900~9999)
=MONTH(날짜)→ 월 (1~12)
=DAY(날짜)→ 일 (1~31)
=DATE(, , )→ 날짜 (합성)

날짜 인수 (YEAR/MONTH/DAY)

셀 참조, 날짜 텍스트, TODAY() 등 모두 가능

DATE 인수 — 자동 오버플로

월 13 → 다음 해 1월, 일 32 → 다음 달 2일처럼 자동 조정. 연도 0~1899는 자동 +1900

YEAR/MONTH/DAY는 단일 인수 분해 함수, DATE는 3인수 합성 함수입니다. 서로 반대 동작으로 함께 외워두면 날짜 조작이 자유로워집니다. 시간 분해는 HOUR/MINUTE/SECOND.

직접 체험해보세요

분해(위)와 합성(아래)을 한 화면에서 비교. "함정 테스트" 버튼으로 오버플로 동작도 확인하세요

▼ 분해날짜 → YEAR / MONTH / DAY
A22024-03-15YEAR=2024, MONTH=3, DAY=15

=YEAR(A2)

2024

연도

=MONTH(A2)

3

월 (1~12)

=DAY(A2)

15

일 (1~31)

↑ 분해 (YEAR/MONTH/DAY)서로 반대 동작↓ 합성 (DATE)
▲ 합성연·월·일 → DATE
D2=DATE(2024, 3, 15)2024-03-15
함정 테스트:

DATE 결과

2024-03-15

실전 활용 예제

=DATE(YEAR(A2)+1, MONTH(A2), DAY(A2))

1년 뒤 같은 날 — 가입 1주년 자동 계산. EDATE(A2, 12)와 같은 결과지만 분해/합성을 직접 보여주는 방식.

예시: A2=2024-03-152025-03-15
=DATE(YEAR(A2), MONTH(A2)+1, 0)

해당 월의 말일 — 다음 달 0일은 자동으로 이번 달 말일. 윤년 2월도 자동 처리. EOMONTH의 동등 표현.

예시: A2=2024-02-102024-02-29
=YEAR(A2)&"년 "&MONTH(A2)&"월"

"2024년 3월" 한국어 표시 — 연/월만 추출해 텍스트로. 셀 서식 yyyy"년 "m"월"으로도 가능하지만 함수가 더 명시적.

예시: A2=2024-03-15"2024년 3월"
더 알아보기

DATE의 자동 오버플로 — 함정이자 강력한 도구

DATE는 인수가 정상 범위를 벗어나면 자동으로 다음/이전으로 넘김. 처음엔 함정 같지만 의도적으로 활용하면 EOMONTH·EDATE 없이도 강력한 날짜 계산이 됩니다.

입력결과의미
DATE(2024, 13, 1)2025-01-0113월 → 다음 해 1월
DATE(2024, 0, 15)2023-12-150월 → 전년 12월
DATE(2024, 3, 0)2024-02-290일 → 전월 말일 (윤년!)
DATE(2024, 2, 35)2024-03-0635일 → 다음 달로 넘김
DATE(24, 3, 15)1924-03-15⚠️ 0~1899는 +1900

활용 패턴: DATE(YEAR(A2), MONTH(A2)+1, 0)은 해당 월 말일을 정확히 반환 — 윤년·31일·30일·28일 모두 자동 처리.

날짜 분해·합성 활용 패턴 5선

1. N년/N개월 후 같은 날

=DATE(YEAR(A2)+N, MONTH(A2), DAY(A2))

계약 갱신·만기 계산

2. 해당 월의 1일 / 말일

=DATE(YEAR(A2), MONTH(A2), 1)
=DATE(YEAR(A2), MONTH(A2)+1, 0)

월별 보고서 기간 자동 산출

3. 분기 추출

=INT((MONTH(A2)-1)/3)+1

3월=1Q, 4월=2Q...

4. 생일 올해 날짜

=DATE(YEAR(TODAY()), MONTH(A2), DAY(A2))

생일 알림 자동화에 활용

5. yyyy-mm-dd 텍스트로

=YEAR(A2)&"-"&TEXT(MONTH(A2),"00")&"-"&TEXT(DAY(A2),"00")

파일명·DB 키 생성

YEAR·MONTH·DAY의 주의점

⚠️ MONTH는 0이 아닌 1부터

JavaScript Date의 getMonth()는 0~11이지만 엑셀 MONTH는 1~12. 다른 언어와 이식 시 ±1 차이 주의.

⚠️ 텍스트로 된 날짜는 변환 필요

YEAR("2024-03-15") → 2024 ✓

YEAR("2024년 3월 15일") → #VALUE! ❌

한국어 날짜 형식은 인식 못함. DATEVALUE로 먼저 변환하거나 정규 형식 사용

💡 빈 셀 / 0 입력 시

YEAR(0) → 1900 (엑셀 기준일 1900-01-00). 빈 셀도 0으로 평가되어 1900 반환. 셀이 비었을 가능성이 있으면 IF로 사전 체크.

자주 묻는 질문 (FAQ)

Q. 셀 서식이 "2024-03"인데 DAY가 1로 나와요

표시만 "2024-03"이고 실제 값은 2024-03-01입니다. 셀 서식은 표시 형식일 뿐, 실제 일련번호 기반이므로 항상 일자가 들어있음. 이게 의도가 아니면 DATE로 명시적으로 1일을 지정.

Q. DATE 결과가 숫자(45366)로 보여요

셀 서식이 "일반"으로 잡혀서. 셀 서식 → 날짜로 바꾸세요. 단축키 Ctrl+Shift+#.

Q. 음수 월/일을 넣어도 작동하나요?

네. DATE(2024, -1, 15) = 2023-11-15 (1월에서 -1 = 작년 11월). "N개월 전" 계산에 활용 가능 — =DATE(YEAR(A2), MONTH(A2)-3, DAY(A2))는 3개월 전.

Q. 시간 정보는 어디에?

DATE/YEAR/MONTH/DAY는 날짜만. 시간은 HOUR·MINUTE·SECOND가 담당. 합성은 TIME 함수 — DATE(2024,3,15)+TIME(14,30,0)로 날짜+시간 결합 가능.