엑셀의 DATEVALUE 함수는 텍스트(문자열)로 표시된 날짜를 '날짜 일련번호'로 바꿔줍니다.
인터넷이나 다른 자료에서 엑셀로 날짜값을 복사해올 때 날짜에 공백이 포함되거나 날짜가 텍스트로 인식되어 날짜로 사용을 못하는 경우가 있습니다. 이 때 DATEVALUE 함수로 텍스트로 표시된 날짜를 일련번호로 변환할 수 있습니다.
엑셀은 날짜를 숫자형식으로 저장하고 보여줄 때 사람이 알아 볼 수 있는 형태로 바꿔서 보여줍니다.
1900년 1월 1일을 숫자 1로 저장하고 1900년 1월 2일을 숫자 2로 저장합니다. 즉 1900년 1월 1일부터 경과한 일수, 즉 일련번호 형태로 저장합니다. 그래서 1900년 1월1일 부터 44791일이 경과한 날짜는 2022년 8월 15일이 되고 숫자로 바꿔서 보면 값이 44791가 됩니다.
구문(Syntax)
DATEVALUE(date_text)
텍스트(문자열)로 표시된 날짜를 일련번호로 변환한다.
인수 : date_text – 텍스트로 표시된 날짜
사용 예
날짜 일련번호로 변환 가능한 경우
텍스트로 표시된 날짜가 인식 가능한 날짜일 경우 날짜 일련번호로 변환됩니다.
=DATEVALUE(B5) => 44867 (2022년 11월 2일에 해당하는 날짜 일련번호)
[B5] 셀에 '2022-11-02 이 입력됨, 날짜앞에 작은 따옴표가 붙어 있으므로 문자열로 인식
=DATEVALUE(B6) => 44867
[B6] 셀에 '2022/11/02 이 입력됨, 날짜앞에 작은 따옴표가 붙어 있으므로 문자열로 인식
=DATEVALUE(B7) => 44867
[B7] 셀에는 날짜 앞에 공백이 입력되어 있으므로 문자열로 인식
위에서 일련번호로 변환된 값은 표시형식에서 날짜형식으로 바꿔주면 날짜로 표시됩니다.
리본 메뉴 [홈] 탭 → [표시 형식] 그룹 → [서식 지정 드롭다운 버튼] 에서 '간단한 날짜' 선택
날짜 일련번호로 변환 불가능한 경우
텍스트로 저장된 날짜가 인식 가능한 날짜가 아니거나 숫자일 경우 날짜 일련번호로 변환이 되지 않고 오류가 발생합니다.
=DATEVALUE(B12) => #VALUE!
[B12] 셀의 값은 날짜로 인식할 수 없는 숫자값이므로 오류 발생, DATAVAUE함수는 문자열만 처리할 수 있음
=DATEVALUE(B13) => #VALUE!
[B13] 셀에는 날짜가 입력되어 있으므로 오류 발생
=DATEVALUE(B14) => #VALUE!
[B14] 셀에는 숫자가 입력되어 있으므로 오류 발생
함수 사용시 주의 사항
다음과 같이 DATEVALUE 함수에 2자리 연도를 사용할 수 있지만 연도가 00~29 사이이면 2000년대로 변환하고 30~99 사이이면 1900년대로 변환합니다.
=DATEVALUE("00-11-17") => 36847 (2000-11-17)
=DATEVALUE("29-12-31") => 47483 (2029-12-31)
=DATEVALUE("30-1-1") => 10959 (1930-01-01)
엑셀에서 연도 2자리 사용 시 정확한 변환 규칙은 아래 링크를 참고하세요.
관련 글