- 최초 작성일: 2000-12-13
- 최종 수정일: 2026-09-29
- 조회수: 26 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 특수한 시간계산
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
시간표현과 관련해서 비슷한 종류의 질문을 하신 분이 몇 분 계십니다.
질문 하나
엑셀에서 "시간:분"으로 데이터를 입력하여 덧셈을 할 때, 만시간(10000)을
넘어서면 덧셈이 되지 않는데 어떻게 해야 합니까? 형식은 사용자 정의에서
[h]:mm으로 지정했습니다.
5000:30 - 5000시간:30분
+ 9000:30 - 9000시간:30분의 계산에서
5000시간 대신에 12000시간을 넣어 계산하고 싶습니다.
질문 두울
…(중략) 오늘 질문드릴 것은 초단위를 분단위로 고칠 수가 있는가 하는 것입니다.
시트에 기록되어 있는 것이 모두 초단위로 되어 있는데 서식을 변경해 보아도
원하는 결과가 나오질 않습니다.
예를 들어 100초로 입력되어 있는 것을 1:40으로 고치는 방법을 알려주세요.
자료가 많아 손으로 해 줄 수도 없고… 꼭 부탁드립니다.
특수한 시간계산
핵심 요약
- Excel의 시간은 하루를 1로 보는 일련번호 체계를 사용하므로 큰 시간값도 숫자로 환산해 계산할 수 있습니다.
- 10000시간 35분은 =10000/24+35/24/60처럼 환산한 뒤 [hh]:mm 형태의 사용자 정의 서식을 적용합니다.
- 100초처럼 초 단위 값은 24·60·60으로 나누어 시간 일련번호로 바꾼 뒤 [m]:ss 형식으로 표시할 수 있습니다.
Excel에서 시간은 9999:59:59까지 밖에 인식을 못합니다. 그 이상의 것은 쓸 일이 없다고 판단해서 MS 프로그래머들이 빼버린 듯 합니다. 그래서 방법이 없겠습니다… 라고 하면 굳이 이번 강좌를 하지 않았겠지요? ^___^
실제로 업무 중에 10000:30 등과 같은 시간을 사용하실 일이 있는지는 모르겠지만 방법이 없는 것은 아닙니다. Excel은 날짜와 시간에 일련번호를 부여하고 관리를 한다는 것은 아시지요? 예를 들어 아무 셀에나 36873이라는 숫자를 입력해 보세요.
| 36873 | ← 숫자를 입력 |
| 2000-12-13 | ← 서식을 날짜형식으로 변경 |
36873이라는 숫자는 하늘에서 뚝 떨어진 것이 아니고 1900/1/1일은 1, 1/2일은 2, … 이런 식으로 1900년 1월 1일부터 시작해서 36873번째 날이 바로 00-12-13이라는 의미입니다.
시간표기에 있어서도 비슷합니다.
| 0.5 | ← 숫자를 입력 |
| 12:00 | ← 서식을 시간형식으로 변경 |
오전 0시부터 오후 12시까지에 일련번호를 부여해서 0은 12:00 AM, 0.5는 12:00 PM 이런 식으로 인식을 하는 것입니다.
이러한 기초지식을 가지고 해결을 시도해 보도록 하지요. 일단 예제를 하나 만들고…
<표 1> 생산라인별 가동시간
| 라인 | 가동시간 | |
| Line #1 | 2000:15:00 | |
| Line #2 | 3000:30:00 | |
| Line #3 | 10000:35 | 10000시간을 넘어가게 되면 더 이상 시간으로 인식하지 |
| Line #4 | 30000:30 | 않고 문자열로 인식을 합니다. 따라서 연산작업을 할 수 |
| Line #5 | 7500:00:00 | 없게 됩니다. |
| Line #6 | 5500:30:00 | |
| Line #7 | 1000:45:00 | |
| Line #8 | 1300:40:00 | |
| Line #9 | 3000:30:00 | |
| Line #10 | 3400:10:00 | |
| 합계 | =SUM(D60:D69) |
이 표의 가동시간을 가지고 총가동시간을 한번 구해 보시기 바랍니다. Line #2까지는 계산이 되지만 그 다음부터는 아마 제대로 계산되지 않을 것입니다. 그런데 아래의 <표 2>에서는 총가동시간이 제대로 구해져 있습니다.
<표 2> 생산라인별 가동시간
| 라인 | 가동시간 | 가동시간(1) | 총가동시간 |
| Line #1 | 2000:15:00 | =SUM($D$79:D79) | =SUM($F$79:F79) |
| Line #2 | 3000:30:00 | =SUM($D$79:D80) | =SUM($F$79:F80) |
| Line #3 | 10000:35 | =10000/24+35/24/60 | =SUM($F$79:F81) |
| Line #4 | 30000:30 | =30000/24+30/24/60 | =SUM($F$79:F82) |
| Line #5 | 7500:00:00 | =SUM($D$79:D83) | =SUM($F$79:F83) |
| Line #6 | 5500:30:00 | =SUM($D$79:D84) | =SUM($F$79:F84) |
| Line #7 | 1000:45:00 | =SUM($D$79:D85) | =SUM($F$79:F85) |
| Line #8 | 1300:40:00 | =SUM($D$79:D86) | =SUM($F$79:F86) |
| Line #9 | 3000:30:00 | =SUM($D$79:D87) | =SUM($F$79:F87) |
| Line #10 | 3400:10:00 | =SUM($D$79:D88) | =SUM($F$79:F88) |
| 합계 | =SUM(D76:D85) | =SUM(F79:F88) |
참고: 표 안의 수식에 나오는 셀 주소(D60:D69, D79, D76:D85 등)는 원본 워크시트 기준이라 이 페이지의 표 배치와 일치하지 않는 부분이 있습니다. 핵심은 10000시간 이상의 값을 시간/24 + 분/24/60 으로 환산하는 것입니다.
10000시간 35분을 숫자로 표현하면 416.6909… 이렇게 되지요? 왜 그렇게 되냐구요? 하루는 24시간이고 1시간은 60분이니까 이것을 환산하면 그렇게 되지요. 따라서
=10000/24+35/24/60
이렇게 입력하신 다음 [hh]:mm이라는 사용자 정의 서식을 하나 만들어서 적용을 시켜주시면 되겠습니다.
두번째 질문하신 분의 경우에도 마찬가지입니다. 100초를 1:40으로 바꾸려면 =100/24/60/60, 즉 초단위로 바꾸어 준 다음에 사용자 정의 서식을 [m]:ss로 해 주시면 아래와 같은 결과를 얻으실 수 있습니다.
=100/24/60/60 ← 100초
다음 시간에…
2000-12-13
정리 — 특수한 시간계산
| 구분 | 내용 |
|---|---|
| 문제 | Excel은 시간을 9999:59:59까지만 인식하여 10000시간 이상은 문자열로 취급되어 합산되지 않음 |
| 원리 | 날짜는 1900-01-01을 1로 하는 일련번호, 시간은 하루를 1로 보는 일련번호 (0.5는 12:00) |
| 10000시간 35분 | =10000/24+35/24/60 을 입력하고 [hh]:mm 사용자 정의 서식 적용 |
| 100초를 1:40으로 | =100/24/60/60 을 입력하고 [m]:ss 사용자 정의 서식 적용 |
자주 묻는 질문 (FAQ)
Q1. 10000시간이 넘는 시간을 합산하려면 어떻게 하나요?
시간을 일련번호로 환산하여 입력합니다. 10000시간 35분은 10000을 24로 나누고 35를 24와 60으로 나눈 값을 더한 뒤 [hh]:mm 서식을 적용합니다.
Q2. Excel은 날짜와 시간을 어떻게 관리하나요?
날짜는 1900년 1월 1일을 1로 하는 일련번호로 관리하고 시간은 하루를 1로 보는 소수로 관리합니다. 예를 들어 0.5는 12:00이 됩니다.
Q3. 초 단위 값을 분과 초 형식으로 바꾸려면 어떻게 하나요?
초 값을 24, 60, 60으로 차례로 나누어 일련번호로 바꾼 다음 사용자 정의 서식을 [m]:ss로 지정합니다. 100초는 1:40으로 표시됩니다.
마치며
날짜와 시간이 일련번호라는 기초 원리를 이해하면 특수한 시간 계산도 어렵지 않게 해결할 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.