• 최초 작성일: 2000-12-20
  • 최종 수정일: 2026-09-29
  • 조회수: 23 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 특수한 시간계산Ⅱ

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

지난번 Excel 강좌 시간에 특수한 시간계산에 대해 설명을 드렸는데 기다렸다는

듯이(^^) 숨겨놓았던(?) 질문을 주신 분이 몇 분 계십니다.

질문 하나

우연히 이곳에 들렀다가 평소에 잘 몰랐던 부분을 많이 알게 되었습니다.

제 일 중에서 작업시간을 계산해야 할 때가 많은데 문자열로 되어 있어서

어떻게 해야할 지 몰라 문의합니다.

시간표시는 1630, 0030 이런 식으로 자료를 넘겨 받습니다.

1630과 같은 문자열을 시간으로 전환하는 방법과 하루가 지난 0030에서

1630을 빼서 역시간을 계산하는 법을 알고 싶습니다.

답변 부탁드립니다. 수고하십시오.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

특수한 시간계산Ⅱ

핵심 요약

  • 1630 같은 문자열은 LEFT와 RIGHT로 시·분을 나눈 뒤 콜론으로 연결하고 VALUE로 실제 시간값으로 변환할 수 있습니다.
  • 시작·종료 시간이 날짜 경계를 넘는 경우에는 IF와 ABS를 조합해 경과시간을 계산할 수 있습니다.
  • 계산 결과는 [hh]:mm 같은 사용자 정의 시간 형식을 적용해야 누적 시간값을 올바르게 표시할 수 있습니다.

두 가지 질문이군요. 먼저 1630과 같은 형태의 자료를 16:30처럼 시:분 형태로 바꾸는 방법은… 그동안 수도 없이 공부하신 문자열 함수를 사용하시면 되겠지요?

변경전 변경후
1630 =VALUE(LEFT(B27,2)&":"&RIGHT(B27,2)) =VALUE(LEFT(B27,2)&":"&RIGHT(B27,2))

더 이상의 설명이 필요없을 것 같습니다만 간략하게 설명을 드리자면, "B27셀에 있는 문자열의 좌우에서 2자씩 가져와서 :로 연결한 다음 그 값을 완전한 숫자 형태로 바꾸어라" 이렇게 해석할 수 있겠습니다. 이렇게 공식을 입력하신 다음 셀 서식을 [hh]:mm으로 설정하시면 됩니다.

그리고 두번째 질문인 "하루가 지난 0030에서 1630을 빼서 역시간을 계산하는 법"은 논리함수인 If()를 Abs() 함수와 조합하여 사용하시면 해결하실 수 있겠습니다.

시작시간 종료시간 경과시간
0:30:00 16:00:00 =IF(B42<C42,ABS(B42-C42),B42-C42)

위에서 경과시간 부분에는 아래의 수식이 들어 있습니다.

=IF(B41<C41,ABS(B41-C41),B41-C41)

여기서 Abs() 함수는 자동차의 ABS 브레이크와는 아무 상관이 없습니다. ^^ 이것은 음수를 양수로 바꾸어 주는, 즉 절대값을 돌려주는 함수입니다. 마찬가지로 이렇게 식을 입력하신 다음 셀 서식은 [hh]:mm으로 지정해야 합니다.

질문 두울

시간계산 얘기가 나온 김에 여쭤보겠는데요…

3000:00-3150:00=-135:00 이잖아요!

근데 엑셀에서 이런 답을 얻을 수 있을까요?

(사용한) 셀 서식은 [h]:mm 입니다.

이것은 위의 질문 중에서 두번째 질문에 대한 답변을 참고하시면 되겠습니다. 간단하게 =abs(a1-b1)이라고 입력하신 다음에 셀 서식을 [hh]:mm으로 설정해 주시면 됩니다. 물론 직접적으로 -시간이 표시되지는 않지만 If 조건문을 하나 추가하면 이것도 가능해 지겠지요?

오늘은 여기까지…

2000-12-20

정리 — 특수한 시간계산Ⅱ

구분내용
1630을 시간으로=VALUE(LEFT(B27,2)&":"&RIGHT(B27,2)) 입력 후 [hh]:mm 서식 적용
날짜를 넘긴 경과시간=IF(B42<C42,ABS(B42-C42),B42-C42) 입력 후 [hh]:mm 서식 적용
ABS 함수절대값을 돌려주는 함수
음수 시간 표시ABS에 IF 조건문을 하나 더 추가하면 가능

자주 묻는 질문 (FAQ)

Q1. 1630 같은 문자열을 시간으로 바꾸려면 어떻게 하나요?

LEFT와 RIGHT로 앞의 두 글자와 뒤의 두 글자를 가져와 콜론으로 연결하고 VALUE로 숫자로 바꾼 뒤 셀 서식을 [hh]:mm으로 지정합니다.

Q2. 하루가 지난 시간의 경과시간은 어떻게 계산하나요?

IF와 ABS 함수를 조합합니다. 두 시간의 차이를 절대값으로 구하고 셀 서식은 [hh]:mm으로 지정합니다.

Q3. 결과가 음수인 시간은 표시할 수 있나요?

ABS로 차이의 절대값을 구하면 직접 마이너스 시간이 표시되지는 않지만 IF 조건문을 하나 추가하면 가능합니다.

마치며

문자열 함수와 논리 함수를 조합하면 문자로 넘겨받은 시간 자료도 시간 계산에 활용할 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.