엑셀 DATE 함수는 연월일에 해당하는 값을 입력받아 날짜 값을 반환해 줍니다.
함수 자체만 보면 별 쓸모없어 보이지만, 자료에서 연월일이 각각의 필드에 관리되고 있을 때 조합해서 날짜 값을 구하거나 정확한 날짜 값을 다른 함수의 인수로 넘겨주어야 할 때 자주 사용됩니다.
구문(Syntax)
DATE(year,month,day)
인수
- year : 연도를 나타내는 1~4자리의 0~9999 숫자 범위
(예 : 0은 1900년, 1은 1901년,… 2022는 2022년, 연도가 0~1899 범위에 있으면 1900+연도, 1900~9999 범위는 그대로 사용 ) - month : 월을 나타내는 양의 정수 또는 음의 정수
(1~12 범위를 벗어나면 월을 더하거나 빼는 방식으로 계산) - day : 일을 나타내는 양의 정수 또는 음수
(1~31 범위를 벗어나면 날짜를 더하거나 빼는 방식으로 계산)
사용 예
1) 일반적인 경우의 처리
연도가 1900~9999 범위이고, 월 1~12, 일 1~31 범위일 경우에는 다음과 같이 날짜가 계산됩니다.
=DATE(2022,8,15) => 2022-08-15
=DATE(1900,8,15) => 1900-08-15
2) 연도가 0~1899 범위일 경우
엑셀에서는 1900년부터 날짜를 계산하므로 연도가 0~1899 범위에 있으면 입력한 연도에 1900을 더해서 계산합니다.
=DATE(0,7,25) => 1900-07-25
=DATE(88,7,25) => 1988-07-25
=DATE(100,7,25) => 2000-07-25
=DATE(122,7,25) => 2022-07-25
3) 월, 일이 범위를 벗어날 때
월 1~12, 일 1~31 범위를 벗어날 경우의 처리
=DATE(2022,13,5) => 2023-01-05
월이 13이므로 12월을 초과한 1개월을 다음 연도에 더해서 계산
=DATE(2022,0,1) => 2021-12-01
월을 1보다 작게 입력하면 입력한 연도의 1월에서 '입력값+1'을 뺀 월로 계산
=DATE(2022,-1,1) => 2021-11-01
월을 1보다 작게 입력하면 입력한 연도의 1월에서 '입력값+1'을 뺀 월로 계산
=DATE(2022,6,45) => 2022-07-15
일이 해당 월의 날짜 범위를 벗어나면 벗어난 날 수만큼 다음 달로 이월시키는 방식으로 계산
4) 다른 함수에 포함될 때
다음과 같이 정확한 날짜값을 다른 함수의 인수로 넘겨주어야 할 때 DATE 함수가 자주 사용됩니다.
월별 판매수량 계산시 월의 1일과 말일을 구하기 위해 DATE 함수 사용 예 :
=SUMIFS($E$5:$E$14,$B$5:$B$14,">="&DATE(B19,C19,1),$B$5:$B$14,"<="&EOMONTH(DATE(B19,C19,1),0))
※ 자세한 내용은 다음 글을 참고하세요.
[ SUMIFS 함수로 월별 합계 구하기 ]
관련 글