본문으로 건너뛰기

실무 팁 ·

엑셀 시간 계산 함수, 근무시간 자동 집계하는 법

출퇴근 시간을 적어놓고 근무시간을 계산하다 보면 이상한 숫자가 나온 경험, 한 번쯤 있으실 겁니다. 특히 여러 날짜의 근무시간을 다 더했더니 24시간이 넘어가는 순간 엑셀이 엉뚱한 값을 보여주는 경우가 대표적입니다. 이번 글에서는 엑셀 시간 계산 함수를 활용해 출퇴근 기록을 자동으로 집계하고, 관공서나 중소기업 실무에서 자주 겪는 오류를 해결하는 방법을 정리합니다.

엑셀에서 근무시간을 더했더니 24시간이 넘으면 왜 이상하게 나올까요

엑셀은 시간을 하루(24시간)를 1로 보는 숫자로 저장하기 때문에, 여러 날의 근무시간을 더해 24시간을 넘기면 날짜가 하루 넘어간 것으로 계산해 표시 형식이 깨집니다. 이 문제는 셀 서식을 시간(HH:MM)이 아니라 사용자 지정 서식 [h]:mm으로 바꾸면 해결됩니다. 대괄호로 감싼 [h]는 24시간을 넘어도 누적된 총 시간을 그대로 보여주는 표시 방식입니다.

왜 이런 일이 생기나

엑셀 내부에서 날짜와 시간은 모두 하나의 숫자 체계로 관리됩니다. 예를 들어 2026년 7월 26일 오전 9시는 대략 46224.375 같은 실수로 저장되고, 정수 부분은 날짜, 소수 부분은 하루 중 지난 시간의 비율을 뜻합니다. 그래서 시간만 여러 개 더하면 소수 부분이 1을 넘는 순간, 정수 부분(날짜)이 올라가면서 우리가 기대하는 “총 몇 시간”이 아니라 “날짜 + 남은 시간”으로 표시되는 것입니다.

출퇴근 시간으로 근무시간 계산하기

가장 기본적인 형태는 퇴근 시간에서 출근 시간을 빼는 것입니다.

=B2-A2

A2에 출근시간(09:00), B2에 퇴근시간(18:00)이 있다면 결과는 09:00, 즉 9시간이 됩니다. 다만 이 값이 나온 셀의 서식이 시간 형식이 아니라면 이상한 날짜나 소수로 보일 수 있으니, 결과 셀은 반드시 시간 형식으로 지정해야 합니다.

점심시간처럼 근무시간에서 빼야 할 시간이 있다면 다음과 같이 계산합니다.

=(B2-A2)-C2

C2에 점심시간(1시간이면 1:00)을 넣어두면, 실제 근무시간만 남습니다.

야간 근무처럼 퇴근 시간이 다음날로 넘어가는 경우도 실무에서 자주 나옵니다. 예를 들어 출근이 22:00, 퇴근이 다음날 06:00이라면 단순히 빼면 음수가 나옵니다. 이때는 다음과 같이 처리합니다.

=IF(B2<A2, B2-A2+1, B2-A2)

퇴근 시간이 출근 시간보다 작으면(날짜가 바뀐 것으로 판단) 1(하루)을 더해 보정하는 방식입니다.

여러 날짜의 근무시간을 합산할 때

하루하루의 근무시간을 D열에 계산해뒀다면, 이를 SUM 함수로 합산하는 것 자체는 어렵지 않습니다.

=SUM(D2:D31)

문제는 이 합계 셀의 표시 형식입니다. 기본 시간 서식으로는 24시간이 넘는 순간부터 값이 깨지므로, 합계가 들어가는 셀만 서식을 다음과 같이 바꿔주어야 합니다.

  1. 합계 셀을 마우스 오른쪽 버튼으로 클릭 후 “셀 서식”을 선택합니다.
  2. “사용자 지정” 범주를 고른 뒤 형식에 [h]:mm을 입력합니다.
  3. 확인을 누르면 24시간을 넘긴 총 근무시간도 정확한 숫자로 표시됩니다.

만약 시간을 “시간 단위 숫자”로 바꿔서 급여 계산 등에 쓰고 싶다면 다음처럼 24를 곱합니다.

=SUM(D2:D31)*24

이렇게 하면 9시간 30분이 9.5라는 숫자로 바뀌어, 시급 계산이나 다른 함수와 연동하기 쉬워집니다.

엑셀 시간 계산, 이것만 기억하세요

조건에 맞는 근무시간만 골라 집계하기

부서별, 혹은 특정 기간의 근무시간만 뽑아 합산하려면 SUMIF나 SUMIFS를 함께 씁니다. 여러 시트나 조건별로 데이터를 나눠 관리하는 방법은 여러 시트에 흩어진 데이터, 엑셀 함수로 자동 합산하기에서 더 자세히 다루고 있으니 참고하시기 바랍니다.

=SUMIFS(D2:D31, E2:E31, "총무팀")

E열에 부서명이 있다면 위 수식으로 총무팀 직원의 근무시간만 합산할 수 있습니다. 이때도 결과 셀 서식은 [h]:mm으로 지정해야 24시간 초과 문제를 피할 수 있습니다.

출퇴근 기록 입력 실수를 줄이는 방법

시간 계산이 틀리는 원인 중 상당수는 계산식 문제가 아니라 애초에 입력이 잘못된 경우입니다. 09:00을 “9시”나 “0900”처럼 텍스트로 입력하면 엑셀이 시간으로 인식하지 못해 계산 자체가 되지 않습니다. 출퇴근 시간 입력란에 데이터 유효성 검사를 걸어두면 이런 실수를 줄일 수 있는데, 구체적인 설정 방법은 엑셀 데이터 유효성 검사로 입력 실수 줄이기 글에서 확인하실 수 있습니다.

또한 근무시간이 비정상적으로 짧거나 긴 경우를 눈에 띄게 표시해두면 검토가 훨씬 수월해집니다. 조건부 서식으로 이상치를 잡아내는 방법은 엑셀 조건부 서식으로 데이터 이상치·중복 한눈에 찾기에서 다루고 있습니다.

실무 팁: 자동 계산 시트 구조 잡기

근태 관리 엑셀을 새로 만든다면 다음과 같은 열 구조를 권장합니다.

  • A열: 날짜
  • B열: 출근시간
  • C열: 퇴근시간
  • D열: 점심시간(고정값 또는 입력)
  • E열: 근무시간 =(C2-B2)-D2 (서식: 시간)
  • F열: 부서
  • 맨 아래 합계 행: =SUM(E2:E31) (서식: [h]:mm)

이 구조라면 매달 날짜만 채워 넣고 출퇴근 시간을 입력하는 것만으로 자동으로 근무시간과 월 합계가 계산됩니다. 수기로 계산기 두드려가며 합산하던 시간을 크게 줄일 수 있습니다.

마치며

엑셀 시간 계산 함수는 원리만 알면 어렵지 않지만, 시간이 내부적으로 숫자로 저장된다는 점을 모르면 계속 같은 실수를 반복하게 됩니다. 특히 [h]:mm 서식과 날짜 넘김 보정 수식 두 가지만 기억해도 대부분의 근태 집계 오류는 해결됩니다. 저희 픽셀앤코드는 이런 반복적인 엑셀 업무를 자동화하는 매크로나 파이썬 스크립트 제작, 그리고 관공서·중소기업 맞춤형 근태·데이터 관리 시스템 구축을 함께 지원하고 있으니, 매달 반복되는 집계 업무로 어려움을 겪고 계시다면 편하게 문의해주시기 바랍니다.