티스토리 뷰

지난 시간까지 엑셀은 숫자로 날짜를 저장하며, 표시형식을 통해 이를 우리가 알아볼 수 있는 값으로 보여준다는 이야기를 했습니다. 엑셀에서는 시간도 역시 숫자로 저장하여 표현하는 특성을 갖고 있습니다. 오늘은 엑셀에서 시간의 표시형식이 어떠한 지에 대해 이야기 해보겠습니다.

 

숫자의 소수점 이하 부분이 시간에 대응된다

 

날짜에 대해 설명드릴 때, 숫자의 소수점 이상 부분이 날짜에 대응된다고 말씀드렸습니다. 반대로 숫자의 소수점 이하 부분은 시간에 대응됩니다. 구체적인 대응 방식은 다음과 같습니다.

 

  • 소수점 이하 숫자가 .0 으로 아무것도 없을 때를 하루의 시작인 [00시 00분 00초]로 인식합니다.
  • 이후 숫자가 1 / 86,400 씩 커질 때마다 시간은 1초씩 지나간 것으로 인식합니다. 왜냐하면 86,400의 값은 24 * 60 * 60 으로 하루를 초로 나타낸 값과 동일하기 때문입니다.

 

이렇게 하면 0.00000 ~ 0.99999 의 숫자는 00시00분00초 ~ 23시59분59초 의 시간에 대응되게 됩니다. 그래서 몇몇 숫자는 시간으로 따지면 언제일 지 쉽게 가늠할 수가 있습니다.

예를 들어 0.5 란 숫자가 있다면 하루가 절반이 지나갔다는 의미일 것이므로 12시00분00초일 것이며, 0.75란 숫자가 있다면 하루가 3/4가 지나갔으므로 18시00분00초일 것입니다.

 

소수점 위의 숫자는 날짜로 따로 인식된다

 

그렇다면 숫자가 1보다 커지게 되면 어떻게 될까요? 이때는 정수부분은 날짜로, 소수점 아래 부분은 시간으로 각각 인식됩니다.

 

예를 들어 다음 1.75 와 2.75 라는 숫자가 있으면 날짜와 시간이 엑셀에서 어떻게 인식될 지 알아보겠습니다.

 

구분 경우1 경우2
숫자 1.25 2.25
날짜 1900년 1월 1일 1900년 1월 2일
시간 06시00분00초 06시00분00초

 

엑셀에서 숫자 1을 1900년 1월 1일로 인식한다고 말씀드렸습니다. 따라서 1.25의 정수부는 1이므로, 엑셀은 1.25의 날짜를 1900년 1월 1일로 인식하게 됩니다. 그리고 소수점 이하 부분은 0.25이므로 하루가 1/4가 지난 시점인 6시00분00초로 시간을 인식하게 됩니다.

 

마찬가지로 숫자 2.25의 정수부는 2이므로 날짜는 1900년 1월 2일로, 소수점 이하 부분은 0.25로 동일하므로 06시00분00초로 인식할 것입니다.

 

이렇게 엑셀은 숫자의 소수점 이하 부분을 따로 나누어 시간으로 인식한다는 것을 염두에 두고 표시형식에 대한 설명을 진행하겠습니다.

 

(1) '시각(Hour)'에 대한 표시형식

 

시각에 대한 표시형식은 hh, h, [h] 3가지가 있습니다. 그런데 24시간제로 표시할 지, 12시간제로 표시할 지 옵션을 설정할 수 있으므로 실제로는 보다 다양한 옵션이 있다고 볼 수 있겠습니다.

 

1.25559 라는 값이 어떻게 시간으로 표시될 지를 가지고 예를 보여드리도록 하겠습니다. 

 

 

우선 [실제값]은 모두 동일한 숫자라는 것을 보여드리기 위해 표시형식을 아무것도 적용하지 않았습니다. 그러니 1.25559라는 동일한 숫자가 모든 셀에 입력되어 있는 것을 보실 수 있습니다.

 

 

표시형식을 모두 적용해보았습니다. 먼저 [날짜 및 시간] 표시형식을 적용한 C3셀을 확인해보시면 [1.25559]는 [1900년 1월 1일, 오전 6시 8분 3초]를 의미하는 숫자였음을 알 수 있습니다.

 

  • hh는 2자리 숫자로 해당 숫자에 대응하는 시간을 표시합니다
  • h는 1자리 숫자로 표시합니다
  • [h]는 소수점 앞자리에 있는 [일수]를 인식하여 모두 합한 시간을 표시해 줍니다. 즉, [1일 & 6시간]이 계산되어 30시간이 나온 것입니다.
  • AM/PM 또는 am/pm 은 시간을 12시간 제로 표시해줍니다. 앞에 [$-ko] 를 붙이면 한글 옵션이 적용됩니다.

 

여기서 [h] 의 사용이 헷갈릴 수가 있습니다. 사실 이렇게 해당일의 시간을 파악할 때는 [h]를 쓸 일은 없습니다. 그러나 두 날짜의 시간을 빼서 차이를 구할 때 [h]는 엄청나게 유용하게 쓰입니다.

 

입국한 시점과 출국한 시점 값을 입력받아 체류한 기간을 구하는 예를 하나 들어보겠습니다.

 

 

3열의 '일반(실제값)' 표시형식을 적용한 셀은 실제로 날짜와 시간의 계산이 어떻게 이루어지는지를 보여드리기 위해 추가하였습니다.

 

 

[H2] 셀과 [H3] 셀에 모두 출국일에서 입국일을 빼는 수식을 입력해보았습니다. 그러자 다음과 같은 결과가 나옵니다.

 

 

체류기간의 값은 3.04167 정도로 나옵니다. 이를 해석해보자면 "출국시점과 입국시점의 차이는 3일하고 0.4167에 해당하는 시간만큼 차이가 난다." 정도가 될 것입니다. 이때 3.04167 이란 숫자에 다음과 같이 표시형식을 적용해보겠습니다.

 

 

차이점이 느껴지십니까? [h] 표시형식을 사용하면 숫자에 담겨있는 3일이라는 일수를 72시간으로 해석하여 시간 형식으로 표현해줍니다. 따라서 시간 차이를 구할 때 [h] 표시형식을 무척 유용하게 쓸 수 있습니다.

 

 

(2) '분(Miniute)'에 대한 표시형식

 

분에 대한 표시형식은 mm, m, [m]이 있습니다. 지금까지 강의 내용을 잘 따라오신 분들이라면 무언가 이상하다는 걸 알 수 있습니다. 바로 월(month)에 대한 표시형식인 mm, m 과 동일한 표시형식이 사용된다는 점입니다.

 

 

이처럼 표시형식이 중복되는 문제이기 때문에 mm과 m은 시간을 나타내는 다른 문자열들과 함께 사용해줘야만 분(miniute)으로 작동합니다. 시각을 나타내는(h)나 초를 나타내는(s) 등과 함께 말이죠.

[m]은 [h]와 마찬가지로, 숫자를 오직 분으로만 환산한 값을 표시해줍니다. 현재 예시로 든 값은 '1일, 6시간, 8분' 이었기 때문에 '30시간 x 60분 + 8분'을 계산하여 1808 이 나온 것이지요.

이와 같은 개념은 초에서도 이어집니다.

 

(3) '초(second)'에 대한 표시형식

 

초에 대한 표시형식은 ss, s, [s]가 있습니다. 시간에 대한 다른 표시형식들과 사용방법이 동일합니다.

 

 

 

다양한 조합의 시간 표시형식

 

이제 시각, 분, 초의 표시형식과 글자들을 조합하여 다양한 표시형식을 만들 수 있습니다. 날짜에 대한 표시형식과 함께 말이죠.

 

다양한 표시형식들을 예로 보여드리겠습니다.

 

 

표시형식을 설정할 때 주의사항

 

만약, 시간값을 추가로 입력하거나 할 경우가 많다면 되도록 시분초를 콜론(:)으로 나누는 표시형식을 설정해두시길 추천합니다. 날짜에 대한 표시형식에서 주의사항으로 말씀드렸던 것처럼 사람들은 기존에 적혀 있는 값들의 모양을 보고 새로운 값을 적기 마련입니다.

그래서 엑셀이 자동으로 시간으로 인식할 수 있는 세미콜론(:) 구분자 형태로 표시형식을 만들어줘야, 사람이 입력하는 값이나 엑셀이 이해하는 값이나 동일한 값이 되어 오류가 발생하지 않습니다.

 

예제파일

 

예제파일10.xlsx
0.01MB

댓글