엑셀 시간 함수 HOUR MINUTE SECOND 정리

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • 엑셀에서 하루는 1이고 시각은 그 안의 소수입니다. 1시간은 1/24(약 0.041667), 오후 3시는 0.625입니다.
  • HOUR는 0~23시, MINUTE는 0~59분, SECOND는 0~59초를 돌려줍니다. 반대로 시·분·초 숫자로 시각을 만들 때는 TIME을 씁니다.
  • HOUR는 24시간을 넘는 누적 시간을 세지 못합니다. 총 시간 수는 =A2*24로 구합니다.

출퇴근 기록에서 출근 시(時)만 뽑아 지각 여부를 따지거나, 상담 시작 시각을 시간대별로 묶어 보거나, "14:35:20" 같은 기록에서 분만 따로 떼어 내야 할 때가 있습니다. 이럴 때 쓰는 함수가 HOUR, MINUTE, SECOND입니다.

이 글에서는 엑셀이 시각을 저장하는 방식부터 세 함수의 사용법, 시각을 거꾸로 조립하는 TIME 함수, 근무 시간 계산에서 자주 틀리는 부분까지 차례로 정리합니다.

시·분·초 깔끔하게 분리 - HOUR·MINUTE·SECOND 함수

엑셀은 시각을 소수로 저장합니다

엑셀은 날짜를 1900년 1월 1일을 1로 세는 정수(일련번호)로 저장하고, 시각은 하루 안에서 지난 비율, 즉 소수 부분으로 저장합니다. 자정은 0, 정오는 0.5입니다.

단위하루 중 비율엑셀 값
1시간1/24약 0.041667
1분1/1,440약 0.000694
1초1/86,400약 0.0000116
오전 8시8/24약 0.333333
2019-05-06 오후 3시날짜 + 15/2443591.625

날짜와 시각이 함께 든 셀은 정수 부분이 날짜, 소수 부분이 시각입니다. 표시 형식을 일반으로 바꿔 보면 아래 화면처럼 날짜 뒤에 숨은 숫자가 드러나고, 시각까지 들어 있다면 소수점 아래 값이 붙어 나옵니다.

B2부터 B5까지 날짜 셀의 표시 형식을 General로 바꿔 1, 2, 43591, 43595 같은 일련번호가 보이는 엑셀 화면
표시 형식을 일반(General)으로 바꾸면 날짜·시각 뒤의 숫자가 보입니다 (영문판 엑셀 화면 · 이미지 출처: Deskbright's Ultimate Excel Book, 저자 허락 하에 사용)

HOUR 함수로 시(時) 뽑기

HOUR는 시각에서 시를 24시간제 숫자(0~23)로 돌려줍니다. 셀에 "오후 3:00"으로 보여도 결과는 15입니다.

인수뜻예시
serial_number시를 뽑을 시각(시각이 든 셀, 소수 값, TIME 함수 결과)B3, 43591.625
=HOUR(B3)
=HOUR(43591.625)   → 15
=HOUR("11:30")     → 11

날짜 없이 시각만 든 셀에도, 날짜와 시각이 함께 든 셀에도 똑같이 쓸 수 있습니다. 함수는 소수 부분만 보고 시를 계산하기 때문입니다. 상담 시작 시각을 시간대별로 묶어 세려면 보조 열에 =HOUR(B3)를 넣고 그 값으로 개수를 세면 됩니다.

단, 지각 여부처럼 분까지 따져야 하는 판단에 HOUR만 쓰면 9시 정각과 9시 5분이 똑같이 9로 나옵니다. 이런 경우는 =IF(B3>TIME(9,0,0),"지각","")처럼 시각끼리 직접 비교합니다.

MINUTE·SECOND 함수로 분과 초 뽑기

사용법은 HOUR와 같고 돌려주는 단위만 다릅니다.

=MINUTE("8:15:30")   → 15
=SECOND("8:15:30")   → 30

세 함수를 조합하면 시각을 다양하게 바꿀 수 있습니다. 예를 들어 =HOUR(B3)*60+MINUTE(B3)는 자정부터 지난 분 수를, =HOUR(B3)&"시 "&MINUTE(B3)&"분"은 "8시 15분" 같은 글자를 만듭니다.

TIME 함수로 시각 만들기

반대로 따로 떨어진 시·분·초 숫자를 하나의 시각으로 합칠 때는 TIME을 씁니다.

수식결과
=TIME(5,23,36)오전 5:23:36 (약 0.224722)
=DATE(2019,5,6)+TIME(15,0,0)2019-05-06 15:00 (43591.625)
=B3+TIME(0,30,0)B3에서 30분 뒤

TIME의 시 인수가 23을 넘으면 24로 나눈 나머지만 반영됩니다. =TIME(25,0,0)은 다음 날 1시가 아니라 그냥 오전 1:00입니다.

근무 시간 계산에서 막히는 부분

시각끼리 빼면 경과 시간이 나오지만, 몇 가지는 따로 처리해야 합니다.

  1. 시간 수로 바꾸기: =C2-B2의 결과는 "8:30" 같은 시각 형식입니다. 8.5처럼 숫자 시간이 필요하면 =(C2-B2)*24로 계산하고 표시 형식을 일반으로 둡니다.
  2. 자정을 넘긴 근무: 22:00에 출근해 06:00에 퇴근하면 뺄셈 결과가 음수가 되어 #####로 보입니다. =MOD(C2-B2,1)을 쓰면 8:00으로 계산됩니다.
  3. 24시간이 넘는 합계: 일주일 근무 시간을 더한 결과가 30시간이어도 셀에는 6:00으로 보이고, HOUR도 6을 돌려줍니다. Ctrl+1 > 표시 형식 탭 > 사용자 지정에서 [h]:mm을 지정하면 30:00으로 보이고, 숫자로는 =합계*24를 씁니다.

시각은 소수라서 뺄셈 결과에 아주 작은 오차가 섞일 수 있습니다. 그래서 =C2-B2=TIME(8,30,0) 같은 비교가 FALSE로 나오거나, INT로 분 수를 자르면 1 작게 나오기도 합니다. 분 단위 비교가 중요한 표라면 =ROUND((C2-B2)*1440,0)처럼 분 수로 바꿔 반올림한 뒤 비교하면 안전합니다.

구글 스프레드시트에서는

구글 스프레드시트도 시각을 하루 안의 소수로 저장하며 HOUR, MINUTE, SECOND, TIME을 같은 형식으로 씁니다. 시각끼리 빼서 경과 시간을 구하는 방식과 *24로 시간 수를 만드는 방식도 같습니다. 24시간이 넘는 합계를 그대로 보이게 하려면 표시 형식을 경과 시간 형식(Duration)으로 바꿉니다.

자주 묻는 질문

HOUR 함수 결과가 오후인데도 3으로 나오지 않고 15로 나옵니다.

HOUR는 항상 24시간제 숫자를 돌려주므로 오후 3시는 15가 정상입니다. 12시간제 숫자가 필요하면 =MOD(HOUR(B3)-1,12)+1을 쓰고, 화면에 "오후 3:00"처럼 보이게만 하려면 표시 형식을 시간으로 바꿉니다.

시각을 입력했는데 0.625 같은 소수로 보입니다.

값은 정상이고 표시 형식이 일반으로 되어 있는 상태입니다. 홈 탭 > 표시 형식 목록에서 시간을 고르면 15:00:00처럼 보입니다.

HOUR 함수에 #VALUE! 오류가 납니다.

셀 값이 엑셀이 시각으로 해석할 수 없는 텍스트일 때 생깁니다. "15시 30분"처럼 글자가 섞인 값은 "15:30" 형태로 고쳐 입력하거나 TIME 함수로 다시 만들어야 합니다.

함께 보면 좋은 글: 엑셀 날짜 함수 DAY MONTH YEAR WEEKDAY, 엑셀 표시 형식과 셀 서식 정리

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger