24시간 교대 근무표 엑셀 템플릿 (Pitman, DuPont, 4일 근무 4일 휴무)
쉬지 않는 공장, 병원, 상황실, 경비팀은 보통 4개 조가 12시간씩 교대해요. 1년 치 순환을 손으로 쓰면 느리고 틀리기 쉬워요. 이 통합 문서에서 근무 패턴은 D, N, O 코드 한 줄과 조별 시차일 뿐이라, 1년의 모든 날이 INDEX와 MOD로 계산돼요. 패턴이나 시작일을 바꾸면 1년 전체, 월간 보기, 조별 합계가 다시 그려져요.
- 시트:
- 7
- 지원 버전:
- Microsoft 365용 Excel, Excel 2016 이후 버전, Mac용 Excel, 웹용 Excel
- 업데이트:
이 템플릿으로 할 수 있는 일
- Pitman 2-2-3, DuPont, 4일 근무 4일 휴무 내장, 최대 28일 주기를 직접 설계하는 Custom 행
- 52주 일별: 조별 코드, 주간·야간 근무 조, 공백 검사
- 주간·야간 색, 주말 음영, 공휴일 표시가 된 인쇄용 월간 보기
- 조별 근무 수, 주간·야간 비율, 주말·공휴일 근무, 주 평균 근무 시간

구성
통합 문서에는 시트가 7개 있어요. 입력하는 시트는 몇 개뿐이고 나머지는 계산돼요.
| 시트 | 용도 | 입력하는 것 | 자동 계산되는 것 |
|---|---|---|---|
| Start Here | 설정과 요약 | 패턴, 시작일, 근무 시간, 주간 근무 시작 시각, 표시할 달 | 주기 길이, 패턴 번호, 야간 시작, 주 평균 근무 시간, 공백 일수, 주말·공휴일 근무, 오늘 근무 조 |
| Patterns | 순환 패턴 모음 | 패턴별 주기 길이, 조별 시차, D/N/O 순서(직접 설계용 Custom 행) | 없음 |
| Schedule | 52주 동안 하루 한 행 | 없음 | 주기 일차, 조별 코드, 주간 조, 야간 조, 공백 검사, 공휴일 |
| Month View | 인쇄용 월간 보기 | 없음(달은 Start Here에서 선택) | 날짜, 요일, 조별 코드, 공휴일 표시 |
| Crews | 조별 합계 | 조 이름이나 조장, 인원 | 근무 수, 주간·야간, 주말·공휴일, 근무 시간, 주 평균, 조 전체 근무 시간 |
| Lists | 코드와 공휴일 | 근무 코드, 공휴일 날짜 | 없음 |
| Checks | 데이터 검사 6개 | 없음 | OK 또는 Review |
시작하기 전에
- 순환을 고르세요. Pitman 2-2-3은 격주로 주말을 쉬고, DuPont은 4주마다 일주일을 통째로 쉬고, 4일 근무 4일 휴무는 가장 외우기 쉬워요.
- A조가 주기 1일차를 시작하는 날을 고르세요. 월요일이면 패턴을 읽기 가장 쉬워요.
- 연장 근무 규칙을 확인하세요. 12시간 순환은 주 평균 42시간이라 40시간을 넘는 주가 생겨요.
단계별 사용법
패턴과 시작일 선택
Start Here B6, B7: Pitman 2-2-3, DuPont, 4-on 4-off, Custom 중 하나와 A조가 주기 1일차를 시작하는 날.
근무 시간 설정
B8 근무 시간(12), B9 주간 근무 시작 시각. 야간 시작은 계산돼요.
조 이름 입력
Crews 탭: 조마다 이름이나 조장, 인원.
공휴일 추가
Lists 탭 B열: 사업장의 공휴일 날짜. 근무표에 표시되고 조별로 세요.
월간 보기 인쇄
Start Here B10에서 달을 고르고 Month View 탭을 인쇄하세요.
공백 확인
Start Here B18은 0이어야 해요. 매일 주간 한 조, 야간 한 조. Checks 탭이 1년 전체를 확인해요.
수식 지도
통합 문서의 모든 수식을 시트와 열별로 정리했어요. 복사된 수식 열은 한 번만 세고, 적용 범위를 함께 표시해요.
| 시트 | 셀 | 함수 | 계산 내용 | 읽는 값 | 쓰이는 곳 |
|---|---|---|---|---|---|
| Start Here | B15 | MATCH | 패턴 번호 | B6 | 모든 근무표 칸의 INDEX에 들어가요. |
| Schedule | C5 368행까지 아래로 복사됨 | MOD | 주기 일차 | A5 | 그날이 주기의 어디인지 보여줘요. |
| Schedule | D5 368행까지 아래로 복사됨 | INDEX, MOD | 그날의 조 코드 | A5 | E5:G5는 B–D조의 같은 수식, Month View는 달력 날짜로 같은 수식을 써요. |
| Schedule | H5 368행까지 아래로 복사됨 | IFERROR, INDEX, MATCH | 주간 근무 조 | D5, E5, F5, G5 | I5는 N으로 같은 일을 해요. Start Here B21, B22가 오늘 행을 읽어요. |
| Schedule | J5 368행까지 아래로 복사됨 | IF, OR, COUNTIF, AND | 공백 검사 | D5, E5, F5, G5 | Start Here B18과 첫 번째 검사에서 셉니다. |
| Month View | B6 AF열까지 오른쪽으로 복사됨 | IF, DAY, EOMONTH, DATE, YEAR, MONTH | 열마다 달력 날짜 | B5 | 8–11행이 이 날짜로 조별 코드를 계산해요. |
| Crews | G5 | SUMPRODUCT, INDEX, WEEKDAY | 주말 근무 수 | — | 조 사이 주말 공평성. H5는 같은 방식으로 공휴일을 셉니다. |
| Crews | J5 8행까지 아래로 복사됨 | COUNT | 주 평균 근무 시간 | I5 | Start Here B17에 표시돼요. 12시간 4조 순환은 모두 42시간이에요. |
| Start Here | B21 | IFERROR, INDEX, MATCH, TODAY | 오늘 주간 근무 조 | — | 관리자용 빠른 확인. B22는 야간이에요. |
모든 수식 설명
아래 수식은 파일에서 그대로 가져온 것이라 여기서 읽는 내용이 셀에 들어 있는 내용과 정확히 같아요. 엑셀에서 셀을 클릭하면 수식 입력줄에서 볼 수 있어요.
=MATCH(B6, Patterns!$A$5:$A$8, 0)Patterns 탭에서 고른 패턴의 행을 찾습니다. 근무표의 모든 수식이 이 번호로 순서를 읽어요.
부분별 설명
MATCH(B6, Patterns!$A$5:$A$8, 0)- 패턴 이름 정확히 일치: Pitman 1, DuPont 2….
예시 데이터로 보면: B6 = Pitman 2-2-3 → B15 결과 1
어떻게 쓰이나: 모든 근무표 칸의 INDEX에 들어가요.
바꾸는 방법: 바꿀 것 없음. B6에서 패턴을 고르세요.
배우기: 엑셀 INDEX와 MATCH 함수 사용법 →=MOD(A5-'Start Here'!$B$7, 'Start Here'!$B$14)+1순환 시작 후 지난 날 수를 주기 길이로 감고 1을 더해 1부터 셉니다.
부분별 설명
A5-'Start Here'!$B$7- 시작일부터 지난 날 수.
MOD(…, 'Start Here'!$B$14)- 주기 길이(Pitman 28)로 나눈 나머지.
+1- 0일차 대신 1일차.
예시 데이터로 보면: A5 = 2026년 11월 2일 → C5 결과 1
어떻게 쓰이나: 그날이 주기의 어디인지 보여줘요.
바꾸는 방법: 바꿀 것 없음.
배우기: 엑셀 기본 수식 작성법: 더하기, 빼기, 곱하기, 나누기 →=INDEX(Patterns!$G$5:$AH$8,
'Start Here'!$B$15, MOD($A5-'Start Here'!$B$7+INDEX(Patterns!$C$5:$F$8, 'Start Here'!$B$15, 1),
'Start Here'!$B$14)+1)주기 일차에 조의 시차를 더해 MOD로 감은 위치에서 D, N, O 중 하나를 고릅니다.
부분별 설명
INDEX(Patterns!$G$5:$AH$8, 'Start Here'!$B$15, …)- 고른 패턴의 코드 행.
$A5-'Start Here'!$B$7- 시작 후 지난 날.
+INDEX(Patterns!C$5:C$8, 'Start Here'!$B$15)- 이 조의 시차(Pitman은 A 0, B 7, C 14, D 21). C열이 상대 참조라 오른쪽으로 복사하면 B, C, D조 시차를 읽어요.
MOD(…, 'Start Here'!$B$14)+1- 순서의 1~28번째 위치.
예시 데이터로 보면: A5 = 2026년 11월 2일 → D5 결과 D
어떻게 쓰이나: E5:G5는 B–D조의 같은 수식, Month View는 달력 날짜로 같은 수식을 써요.
바꾸는 방법: 시차는 여기 말고 Patterns 탭에서 바꾸세요.
배우기: 엑셀 상대 참조, 절대 참조, 혼합 참조 이해하기 →=IFERROR(INDEX($D$4:$G$4, MATCH("D", D5:G5, 0)), "None")네 개 조 열에서 처음 나오는 D를 찾아 그 열의 머리글을 돌려줍니다.
부분별 설명
MATCH("D", D5:G5, 0)- D가 있는 조 열.
INDEX($D$4:$G$4, …)- 머리글의 조 이름.
IFERROR(…, "None")- 주간 근무자 없음.
예시 데이터로 보면: D5 = D, E5 = O, F5 = N, G5 = O → H5 결과 Crew A
어떻게 쓰이나: I5는 N으로 같은 일을 해요. Start Here B21, B22가 오늘 행을 읽어요.
바꾸는 방법: 바꿀 것 없음.
배우기: 엑셀 INDEX와 MATCH 함수 사용법 →=IF(OR(COUNTIF(D5:G5, "D")=0,
COUNTIF(D5:G5, "N")=0), "Gap",
IF(AND(COUNTIF(D5:G5, "D")=1, COUNTIF(D5:G5, "N")=1),
"OK", "Overlap"))주간이나 야간에 아무도 없으면 Gap, 정확히 한 조씩이면 OK, 그 외는 Overlap.
부분별 설명
COUNTIF(D5:G5, "D")- 주간 조 수.
COUNTIF(D5:G5, "N")- 야간 조 수.
OR(…=0, …=0)- 한쪽이 비면 Gap.
AND(…=1, …=1)- 각각 하나면 OK.
예시 데이터로 보면: D5 = D, E5 = O, F5 = N, G5 = O → J5 결과 OK
어떻게 쓰이나: Start Here B18과 첫 번째 검사에서 셉니다.
바꾸는 방법: 바꿀 것 없음.
배우기: 엑셀 AND 함수와 OR 함수 사용법 →=IF(B$5<=DAY(EOMONTH($B$4, 0)),
DATE(YEAR($B$4), MONTH($B$4),
B$5), "")달과 위의 일 번호로 날짜를 만들고, 그 달의 마지막 날 이후 열은 비웁니다.
부분별 설명
DAY(EOMONTH($B$4, 0))- 이번 달 일수.
B$5<=…- 일 번호가 달 안에 있음.
DATE(YEAR($B$4), MONTH($B$4), B$5)- 날짜.
예시 데이터로 보면: B5 = 1 → B6 결과 2026년 12월 1일
어떻게 쓰이나: 8–11행이 이 날짜로 조별 코드를 계산해요.
바꾸는 방법: 달은 Start Here B10에서.
배우기: 엑셀 텍스트 함수와 날짜 함수 사용법 →=SUMPRODUCT((INDEX(Schedule!$D$5:$G$368, 0, 1)<>"O")*(WEEKDAY(Schedule!$A$5:$A$368, 2)>5))이 조가 일하고 날짜가 토요일이나 일요일인 날을 셉니다.
부분별 설명
INDEX(Schedule!$D$5:$G$368, 0, 1)- A조 열(다른 조는 2, 3, 4).
(…<>"O")- 근무면 1.
(WEEKDAY(Schedule!$A$5:$A$368, 2)>5)- 토(6)·일(7)이면 1.
SUMPRODUCT(…)- 둘 다 1인 날을 더함.
예시 데이터로 보면: G5 결과 52
어떻게 쓰이나: 조 사이 주말 공평성. H5는 같은 방식으로 공휴일을 셉니다.
바꾸는 방법: 바꿀 것 없음.
배우기: 엑셀 필수 함수 SUM, AVERAGE, COUNT, MIN, MAX 사용법 →=I5/(COUNT(Schedule!$A$5:$A$368)/7)1인당 연간 근무 시간을 근무표의 주 수로 나눕니다.
부분별 설명
I5- 근무 수 × 근무 시간.
COUNT(Schedule!$A$5:$A$368)/7- 근무표의 주 수(52).
예시 데이터로 보면: I5 = 2,184 → J5 결과 42
어떻게 쓰이나: Start Here B17에 표시돼요. 12시간 4조 순환은 모두 42시간이에요.
바꾸는 방법: 바꿀 것 없음.
배우기: 엑셀 기본 수식 작성법: 더하기, 빼기, 곱하기, 나누기 →=IFERROR(INDEX(Schedule!$H$5:$H$368,
MATCH(TODAY(), Schedule!$A$5:$A$368, 0)),
"Outside schedule")Schedule 탭에서 오늘 행을 찾아 주간 근무 조를 돌려줍니다.
부분별 설명
MATCH(TODAY(), Schedule!$A$5:$A$368, 0)- 오늘 행.
INDEX(Schedule!$H$5:$H$368, …)- 주간 근무 조.
IFERROR(…, "Outside schedule")- 오늘이 52주 밖.
예시 데이터로 보면: B21 결과 Crew B
어떻게 쓰이나: 관리자용 빠른 확인. B22는 야간이에요.
바꾸는 방법: 해마다 시작일을 앞으로 옮기세요.
배우기: 엑셀 TODAY, NOW 함수 사용법: 오늘 날짜와 현재 시간 →팁과 한계
- 근무표는 시작일부터 52주예요. 다음 해에는 시작일을 주기의 정수배만큼 옮기세요(364일은 Pitman·DuPont 13주기). 그래야 조가 자리를 유지해요.
- 조의 시차는 A조보다 며칠 늦게 가는지예요. 28일 패턴에서 주기의 4분의 1(7일)씩이면 고르게 채워져요.
- 직접 설계: 한 행을 D, N, O로 채우고 주기 길이와 시차를 정한 뒤 Custom을 고르세요. 공백 검사에 걸리면 다른 시차를 시도하세요.
- 12시간 4조 순환은 주 평균 42시간이지만 주마다 달라요. 연장 근무는 근로 주 단위로 확인하세요.
- Month View는 가로 한 페이지로 인쇄돼요. 공휴일은 마지막 행에 H로 표시돼요.
이 템플릿에 쓰인 기능 배우기
도움이 되었나요? 잘못된 내용이 있나요? 의견 보내기 · admin@arumsoft.com