- 최초 작성일: 1999-09-20
- 최종 수정일: 2026-09-29
- 조회수: 29 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 사용자 정의 서식Ⅲ
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
시간은 소수점 이하의 숫자로 표시가 된다고 누차 설명을 드린바 있습니다.
그런데 아래와 같이 마친 날짜에서 시작 날짜까지 몇 시간이 경과했는지 구해야 할 경우에는 어떻게 해야 할까요?
만약 마친 날짜와 시작 날짜가 하루 미만의 차이일 경우에는 아무 문제가 없으나 아래와 같이 하루 이상의 시간이 경과된 것이라면?
사용자 정의 서식Ⅲ
핵심 요약
- 일반 시간 서식은 24시간을 넘으면 다시 0부터 표시되므로 누적 시간 표현에 주의해야 합니다.
- [h]처럼 대괄호를 사용한 사용자 정의 서식을 지정하면 24시간을 넘는 누적 시간을 표시할 수 있습니다.
- 가동 시작·종료 시각의 차이를 분 단위로 바꾸고 TEXT 함수와 결합해 소요시간과 비용 계산에 응용할 수 있습니다.
| 시작 날짜 | 마친 날짜 | 경과 시간 |
| 1999-09-12 | 1999-09-14 | 2 |
정수에서 정수를 빼주니까 2가 되지요. 이것을 시간으로 바꾸어 주면(셀서식-시간 설정을 통해) 아래와 같이 되겠지요?
| 시작 날짜 | 마친 날짜 | 경과 시간 |
| 1999-09-12 | 1999-09-14 | 0:00 |
그런데 어라? 2일이면 분명히 48시간이 나와야 하는데 어찌된 영문인지 0:00시간이 경과했다고 화면상에 표시가 되네요. 컴퓨터 고장인가?
분명히 컴퓨터 고장은 아닙니다. 소수점 부분(즉 시간의 일련번호)이 24시간 밖에 표현할 수 없는 것입니다. 즉 24시간이 초과하면 다시 0이 되고 그 시점부터 새로이 일련번호를 부여하는 것이지요.
그럼 어쩌라구? 하시는 분… 아래를 보세요.
| 시작 날짜 | 마친 날짜 | 경과 시간 |
| 1999-09-12 | 1999-09-14 | 48시 00분 |
참고: 원문 표에서 경과 시간 칸의 서식 적용 결과가 1900-01-01로 변환되어 있었습니다. 본문 설명(0:00시간이 경과했다고 표시됨, 48시 00분)에 맞추어 각각 0:00, 48시 00분으로 정리했습니다.
이번에는 제대로 표시가 되었지요(손으로 직접 입력하고 우시는 것 아니냐고 하시는 분이 혹시 있을래나?). 절대 손으로 직접 "48시 00분"하고 입력해 준 건 아닙니다. 셀서식-사용자 정의 메뉴를 사용한 것입니다.
이렇게 24시간이 넘어가는 시간을 표기해 주기 위해서는 이렇게 하시면 됩니다.
참고: 셀서식-사용자 정의 메뉴는 구버전 메뉴입니다. 최신 Excel에서는 셀을 선택하고 Ctrl+1(셀 서식)을 눌러 표시 형식 탭의 사용자 지정에서 설정합니다.
(1) 셀서식-사용자 정의 서식을 선택합니다.
(2) 그런 다음 아래 그림처럼 "형식"란에다가 [h]"시" mm"분"이라고 입력합니다.
(3) 확인을 클릭합니다.
분, 초에 대해서도 마찬가지 방법으로 적용하시면 될 것입니다. 만약에 시간을 누적해서 계산하는 이같은 기능을 모른다면? 한참 고생하겠지요? 골치 꽤나 아프겠지요?
잊지 마세요. 꺾은 괄호를 쳐 주어야 한다는 사실을!!!
자, 그러면 응용을 한번 해 볼까요?(한동안 강조를 안했네요. 응용의 중요성을…)
아래와 같은 XXXX공장의 기계 가동 시간표가 있습니다.
| 구분 | 시간 |
| 가동시작시간 | 1999-09-12 |
| 가동정지시간 | 1999-09-17 |
| 분당 전력 소모량 | 15 |
| 분당 소모 경비 | 1,350 |
참고: 표에는 날짜만 남아 있으나 본문의 총 소요시간 7,770분은 5일(7,200분)보다 570분(9시간 30분) 많으므로, 원문의 가동시작·정지 셀에는 시각도 들어 있었던 것으로 보입니다. 원문 그대로 두었습니다.
이 표를 이용해서 (1) 먼저 총 가동시간을 구하고, (2) 그 기간동안의 총소요 경비를 산출하려면 어떻게 해야할까요?
총 소요시간은 7,770分이고
총 소요경비는 157,342,500원 입니다요!
절대로 손으로 쓴 것이 아닙니다. 함수와 사용자 정의 서식을 응용하여 계산해 준 것입니다.
오랜만에 퀴즈로 내 드릴테니 한번 연구해 보세요. 좀 막연한가요? 그럼 힌트를 드리지요. 1440분(즉 24시간)을 초과하는 값을 구하기 위해서는 위에 설명드린 대로 꺾은 괄호([])를 사용해야 하고 거기서 구한 分값을 text()함수로 다시 한번 가공해 주면 되겠지요?(여기까지 설명드리면 느낌이 팍 와야 하는데…)
어쨌거나 이번 강좌는 요기까지 열심히 풀어 보시기를…(머리 쥐어뜯는 소리…)
정리 — 사용자 정의 서식Ⅲ
| 구분 | 내용 |
|---|---|
| 문제 | 하루를 넘는 시간 차이가 일반 시간 서식에서는 24시간을 넘으면 다시 0부터 표시 |
| 해결 | 사용자 정의 서식에서 시 부분을 대괄호로 묶은 형식을 지정 |
| 서식 예 | [h]"시" mm"분" |
| 예제 결과 | 2일 차이가 0:00이 아니라 48시 00분으로 표시 |
| 응용 | 가동시간을 분 단위로 구하고 TEXT 함수와 결합해 총 소요시간과 경비 계산 |
| 힌트 | 1440분(24시간)을 넘는 값은 대괄호를 쓰고 그 분 값을 TEXT 함수로 다시 가공 |
자주 묻는 질문 (FAQ)
Q1. 24시간이 넘는 시간이 왜 0으로 표시되나요?
시간은 소수점 이하의 값이라 24시간까지만 표현할 수 있고, 24시간을 초과하면 다시 0이 되어 새로 일련번호가 시작되기 때문입니다.
Q2. 24시간을 넘는 시간을 그대로 표시하려면 어떻게 하나요?
셀 서식의 사용자 정의에서 형식란에 시간 단위를 대괄호로 묶어 입력합니다. 분과 초도 같은 방법으로 적용합니다.
Q3. 총 가동시간과 경비는 어떻게 구하나요?
대괄호를 쓴 서식으로 1440분을 넘는 분 값을 구하고, 그 값을 TEXT 함수로 가공해 분당 경비와 곱합니다.
마치며
시간을 누적해 표시해야 할 때는 대괄호 서식을 기억해 두시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.