=DATE(2026,3,15)는 2026년 3월 15일이라는 날짜를 반환합니다. 세 인수는 년, 월, 일 순서이며 숫자나 셀 참조로 씁니다. 반대 역할을 하는 YEAR, MONTH, DAY 함수는 날짜를 그 숫자들로 나눕니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Year | Month | Day | Date |
| 2 | 2026 | 3 | 15 | 2026-03-15 |
| 3 | 2026 | 12 | 31 | 2026-12-31 |
| 4 | 2027 | 1 | 1 | 2027-01-01 |
| 5 | 2024 | 2 | 29 | 2024-02-29 |
각 행이 엑셀이 정렬하고, 빼고, 서식을 지정할 수 있는 진짜 날짜가 됩니다. B2의 월을 7로 바꾸면 D2는 2026-07-15가 됩니다. 나라마다 날짜 쓰는 순서가 달라도 인수 순서는 년이 먼저로 정해져 있습니다. =DATE(15,3,2026)은 3월 15일이 아닙니다.
YEAR, MONTH, DAY: 날짜 나누기
각 함수는 날짜의 한 부분을 숫자로 반환합니다. SUMIF나 피벗 테이블이 읽는 도우미 열처럼, 연도나 월로 묶거나 거를 때 흔히 쓰는 방법입니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Date | Year | Month | Day | Month name |
| 2 | 2026-03-15 | 2026 | 3 | 15 | March |
| 3 | 2025-11-02 | 2025 | 11 | 2 | November |
| 4 | 2024-02-29 | 2024 | 2 | 29 | February |
첫 행은 2026, 3, 15를 냅니다. MONTH는 숫자를 반환합니다. 월 이름이 필요하면 TEXT에 "mmmm"(March)이나 "mmm"(Mar)을 쓰세요. TEXT 함수를 참고하세요.
13월, 0일: DATE가 넘기는 방식
DATE는 12보다 큰 월과 월말을 넘는 일을 받아들이고, 달력처럼 넘치는 부분을 앞으로 넘깁니다. 13월은 다음 해 1월이고, 0일은 이전 달의 말일입니다. 그래서 어느 달이든 1일과 말일을 한 줄 수식으로 구할 수 있습니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Formula | Result | Date | |
| 2 | Month 13 | 2027-01-01 | 2026-02-17 | |
| 3 | February 30 | 2026-03-02 | ||
| 4 | Day 0 of March | 2026-02-28 | ||
| 5 | First of the month | 2026-02-01 | ||
| 6 | Last of the month | 2026-02-28 |
DATE(2026,13,1)은 2027-01-01이고, 2월 30일은 2026-03-02가 되며, 3월 0일은 2026-02-28입니다. 5행과 6행은 D2의 날짜를 씁니다. 아무 날짜로 바꾸면 윤년을 포함해 그달의 1일과 말일이 나옵니다(2024-02-17을 넣어 보세요). 월말은 EOMONTH로도 구할 수 있습니다. 날짜에 일과 개월 더하기를 보세요.
텍스트를 날짜로 바꾸기
다른 시스템에서 가져온 날짜는 텍스트로 들어오는 경우가 많습니다. 엑셀은 텍스트로 날짜 계산을 할 수 없으므로 먼저 변환하세요. DATEVALUE는 2026-03-15처럼 엑셀이 알아보는 형식의 텍스트를 읽습니다. 20260315 같은 코드나 15.03.2026 같은 유럽식 날짜는 LEFT, MID, RIGHT로 잘라 DATE로 다시 합쳐야 합니다.
| A | B | |
|---|---|---|
| 1 | Text | Date |
| 2 | 2026-03-15 | 2026-03-15 |
| 3 | 20260315 | 2026-03-15 |
| 4 | 15.03.2026 | 2026-03-15 |
세 행 모두 2026-03-15를 반환합니다. LEFT, MID, RIGHT는 텍스트를 반환하지만 DATE가 "2026"과 "03"을 알아서 숫자로 바꿉니다. DATEVALUE는 시스템의 날짜 설정에 따라 다릅니다. "3/15/2026"은 미국 설정에서는 3월 15일로 읽히고, 일을 먼저 쓰는 지역에서는 #VALUE!로 실패합니다. 한 번만 바꿀 열이라면 데이터 > 텍스트 나누기가 수식 없이 그 자리에서 변환합니다. 3단계에서 날짜를 고르고 텍스트의 순서를 지정하세요(15.03.2026이면 DMY).
연습: 날짜 만들기
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Year | Month | Day | Date |
| 2 | 2026 | 4 | 17 |
직접 해 보세요: D2에서 A2의 년, B2의 월, C2의 일로 날짜를 만드세요.
| A | B | |
|---|---|---|
| 1 | Code | Date |
| 2 | 20260917 |
직접 해 보세요: A2에는 yyyymmdd 형태의 텍스트로 날짜가 들어 있습니다. B2에서 그것을 진짜 날짜로 바꾸세요.
흔한 실수: 두 자리 연도
DATE는 0부터 1899까지의 연도를 1900에서 더한 값으로 읽으므로, 두 자리 연도는 아무 오류 없이 엉뚱한 세기로 갑니다.
| A | B | C | |
|---|---|---|---|
| 1 | Year | DATE | Fixed |
| 2 | 26 | 1926-03-15 | 2026-03-15 |
=DATE(26,3,15)는 2026이 아니라 1926-03-15를 반환합니다. 원본 데이터의 연도가 두 자리라면 C2처럼 2000을 더하거나, 더 좋게는 원본이 네 자리 연도를 담도록 고치세요.
자주 묻는 질문
엑셀에서 DATE 함수는 어떻게 동작하나요?
=DATE(year,month,day)는 숫자 세 개로 날짜를 반환합니다. =DATE(2026,3,15)는 2026년 3월 15일입니다. 인수에는 =DATE(A2,B2,C2)처럼 셀 참조를 쓸 수 있습니다.
날짜에서 년, 월, 일을 꺼내려면 어떻게 하나요?
=YEAR(A2), =MONTH(A2), =DAY(A2)가 각 부분을 숫자로 반환합니다. 월 이름은 =TEXT(A2,"mmmm")을 쓰세요.
엑셀에서 그달의 1일은 어떻게 구하나요?
=DATE(YEAR(A2),MONTH(A2),1)은 A2가 속한 달의 1일을 반환합니다. =DATE(YEAR(A2),MONTH(A2)+1,0)은 말일을 반환합니다. 어떤 달의 0일은 그 전달의 말일이기 때문입니다.
엑셀에서 텍스트를 날짜로 바꾸려면 어떻게 하나요?
엑셀이 알아보는 형식의 텍스트라면 =DATEVALUE(A2)가 변환합니다. 20260315 같은 코드는 부분을 잘라 내서 날짜를 다시 만드세요: =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)).
DATE의 월이 12보다 크면 어떻게 되나요?
DATE는 그것을 다음 해로 넘깁니다. =DATE(2026,13,1)은 2027-01-01, =DATE(2026,14,1)은 2027-02-01입니다. 일도 같은 방식으로 넘어가고, 0이나 음수는 과거로 갑니다.