티스토리 뷰
앞선 강의에서 설명드렸던 내용은 다음과 같습니다.
- 엑셀은 데이터 > 가공 > 보여주기의 워크플로우를 갖기 때문에 데이터의 이해가 기본이 되어야 한다.
- '보이는 데이터'가 '실제 데이터'가 아닐 수도 있다.
- 왜나하면 '실제 데이터'를 사람이 보기 편한 형태로 바꾸기 위해 '표시형식'이란 기능을 쓰기 때문이다.
- 숫자와 문자 데이터를 구분해야 한다.
특히, 바로 전 강의에서는 '숫자'와 '문자'에 대해 이야기했습니다. 이번 시간에는 '숫자'와 '날짜 및 시간'에 대해서 이야기해보겠습니다.
'날짜 및 시간'은 숫자다
결론부터 말씀드리자면 '날짜 및 시간'은 숫자입니다. 좀 더 정확히 말하자면 다음과 같습니다.
- 1900년 1월 1일 ~ 9999년 12월 31일은 1 ~ 2,958,465의 숫자이다.
- 0시 0분 0초 ~ 23시 59분 59초는 0 ~ 0.99999까지의 숫자이다. (정확히는 0.99999가 아니라 0.999988425925926)
(1) 날짜는 1 ~ 2,958,465의 숫자이다.
이를 보여드리기 위해 먼저 똑같은 숫자 두 세트를 준비해 보았습니다.
양쪽 모두 별도 설정을 하지 않았기 때문에 표시형식이 기본값인 '일반'으로 설정되어 있습니다. 그런데 여기서 우측에 있는 값들만 표시형식을 '날짜'로 바꿔주면 어떻게 될까요?
표시형식을 날짜로 바꿔주자마자 1 ~ 2,958,464의 숫자 값들이 1900년 1월 1일 ~ 9999년 12월 31일의 날짜로 변경된 것을 볼 수 있습니다.
여기에서 얻을 수 있는 중요한 시사점은 바로 [보이는 값]이 [날짜]여도 사실 그 값을 [실제 값]은 [숫자]라는 것을 우리가 알고 있어야한다는 점입니다. 그래야 날짜를 '가공'할 때 문자에 쓰는 방식을 착각하여 적용하는 실수를 막을 수 있습니다.
(2) 시간은 0 ~ 0.99999 까지의 숫자이다.
마찬가지로 시간을 구현해보기 위해 똑같은 숫자를 두 세트 준비해 보았습니다.
그리고 우측열만 [표시형식]을 [시간]으로 바꾸어보겠습니다.
[실제 값]은 하나도 변경하지 않았는데 [보이는 값]만 시간으로 변경된 것을 알 수 있습니다. 이처럼 '시간'은 결국 숫자와동일한 [실제 값]을 갖으며 숫자에 시간형태라는 [표시형식]을 적용한 것일 뿐입니다. 이 점을 명심하셔야 나중에 함수 등을 배울 때 헷갈리지가 않습니다.
'날짜와 시간'이 함께 표현된 경우
앞서 날짜는 1~2,958,464 의 숫자로, 시간은 0~0.99999 의 숫자로 표현된다고 말씀드렸습니다. 그런데 보다 정확하게 말씀드리면 [숫자]의 소수점 아래 부분은 [날짜]로 표현되고, [숫자]의 소수점 아래부분은 [시간]으로 표현된다고 말씀드리는 게 옳을 것 같습니다.
예를 들어, [44000]은 [2020년 6월 18일]로 표현이 가능한 숫자이고, [0.25]는 [06시 00분 00초]로 표현이 가능한 숫자입니다. 따라서 [44000.25] 라는숫자가 있다면 [2020년 6월 18일] 이라는 정보와 [06시 00분 00초]라는 정보가 모두 들어있는 셈입니다. 그래서 [44000.25]에는 표시형식을 적용하기에 따라서 [날짜]나 [시간]이나 [날짜 및 시간] 등을 모두 표현할 수 있습니다.
이를 보여드리기 위해 다음과 같이 소숫점 위아래로 모두 값이 있는 숫자들을 가져왔습니다.
여기에 각각 표시형식을 [날짜], [시간], [날짜 및 시간]을 적용해보겠습니다.
이처럼 날짜든 시간이든 원천이 되는 [실제 값]은 똑같은 '숫자'이며 [표시형식]을 어떻게 설정하느냐에 따라서 [날짜]로 보이기도 [시간]으로 보이기도 아니면 [날짜와 시간]을 함께 보이기도 한다는 것을 알 수 있습니다.
날짜와 시간은 엑셀 자료에 빠지지 않고 들어가는 단골 데이터이기 때문에 이들을 어떻게 다루어야하는지 아는 것이 무척 중요합니다. 그러려면 날짜와 시간이 숫자이며 어떻게 표시되는 것인지 명확하게 이해를 해둬야할 필요가 있습니다.
예제파일