엑셀 시간 계산 완전 가이드 — 근무시간·야근·휴게·지각·24시간 초과·음수 시간까지

엑셀 시간 계산 — 실물에 가까운 꽁이가 노트북을 가리키는 귀여운 썸네일(24시간 초과·자정 넘김·30분 반올림·야간근로 팁)
엑셀 시간 계산 완전 가이드 — 근무시간·야근·휴게·지각·24시간 초과·음수 시간까지

엑셀 시간 계산 완전 가이드 — 근무시간·야근·휴게·지각·24시간 초과·음수 시간까지

환경: Excel 365/2019. 글의 구조화·정리는 AI 보조를 받았지만 모든 수식은 직접 재현해 검증했습니다.

1) 시간은 ‘숫자’다: 핵심 개념 3가지

  • 시간=1일의 분수 1시간은 1/24, 30분은 1/48.
  • 표시는 서식 계산은 숫자로, 표시는 hh:mm 또는 [h]:mm로 제어.
  • 텍스트 주의 '9:30 처럼 텍스트면 TIMEVALUE로 변환.

2) 근무표 레시피 12가지(복붙용)

#문제수식서식
1총 근무시간(휴게 제외)
=IF(퇴근<출근, 퇴근+1, 퇴근) - 출근 - 휴게
[h]:mm
2자정 넘김(야간 근무)
=MOD(퇴근-출근,1) - 휴게
[h]:mm
3소수(시간)로 변환
=(총근무)*24
0.00
4분 단위로 변환
=ROUND((총근무)*24*60,0)
정수
5기준 9:00 초과분(연장)
=MAX(0, (총근무) - TIME(9,0,0))
[h]:mm
6휴게 자동(6h 이상 30분)
=IF((근무시간_raw)>=TIME(6,0,0), TIME(0,30,0), 0)
시간
7지각(09:00 기준)
=MAX(0, 출근 - TIME(9,0,0))
[h]:mm
8조퇴(18:00 기준)
=MAX(0, TIME(18,0,0) - 퇴근)
[h]:mm
9휴일 여부
=IF(OR(WEEKDAY(날짜,2)>=6, ISNUMBER(MATCH(날짜,공휴일목록,0))),"휴일","근무")
일반
10근무 중 휴일 시간
=IF(휴일="휴일", 총근무, 0)
[h]:mm
11텍스트 ‘9:30’를 시간으로
=TIMEVALUE("9:30")
hh:mm
12mm:ss → 분
=MINUTE(A2)+SECOND(A2)/60
0.00

표(Table)로 관리하고 열 이름(예: Times[Start])을 구조적 참조로 쓰면 수식이 훨씬 안전하고 읽기 쉽다.

3) 야간근로(22:00~06:00) 시간만 분리

시작/종료를 0~1(하루=1) 범위로 정규화해 야간 구간과의 교집합을 구한다.

/* S=출근, E=퇴근, B=휴게(시간 단위) */
=LET(
  s, MOD(S,1), e, MOD(E,1),        /* 0~1 정규화 */
  e2, IF(e

이 값을 총근무에서 빼면 주간근로가 된다.

4) 30분/15분 단위 반올림·올림·내림

// 총근무를 t라 할 때(숫자, 단위=일)
반올림_30분 = MROUND(t*24, 0.5)/24
올림_30분   = CEILING.MATH(t*24, 0.5)/24
내림_30분   = FLOOR.MATH(t*24, 0.5)/24

반올림_15분 = MROUND(t*24, 0.25)/24

5) 지각/조퇴 — ‘음수 시간’ 안전하게 표시

음수 시간을 순수 서식으로 표시하는 건 제약이 많다. **문자열로 조립**하는 게 실무적으로 가장 안전하다.

// 기준시간(예: 09:00)과 실제 출근 비교
=LET(d, 출근 - TIME(9,0,0),
 IF(d<0, "-"& &TEXT(-d,"[h]:mm"), TEXT(d,"[h]:mm")) )

회계/정산은 숫자열로도 필요하므로, 별도 열에 =출근 - TIME(9,0,0)을 두고 표시열은 문자열, 합산열은 숫자를 쓰는 이중구조를 추천.

6) 주간 합산·주 52시간 체크

// 주 시작일(월요일) 기준 주차 구하기
=ISOWEEKNUM(날짜)

// 주간 총 근무(표 구조 가정: Times[Week], Times[Total])
=LET(w, @Times[Week], SUMIFS(Times[Total], Times[Week], w))

// 52시간 초과 경고(문자)
=IF(SUMIFS(Times[Total]*24, Times[Week], w) > 52, "초과", "정상")

7) 오류·서식·성능 체크리스트

  • [h]:mm 서식: 누적시간/주간합계/월합계에 필수
  • 자정 넘김: MOD(퇴근-출근,1) 또는 IF(퇴근<출근,퇴근+1,퇴근)-출근
  • 텍스트 시간: TIMEVALUE로 변환 후 계산
  • 표(Table)+구조적 참조로 열 이동에도 안전
  • IFERROR로 입력 누락 시 사용자 친화 메시지

COUNTIFS로 ‘지각 일수·야근 일수’ 요약, TEXTSPLIT로 메모에서 숫자만 추출하는 등 아래 연계 가이드와 함께 쓰면 관리가 더 쉬워집니다.


Leave a Reply

Your email address will not be published. Required fields are marked *