반복 업무의 다음 날짜를 늦은 완료일에 붙이면 밀린 일이 달력에서 사라질 수 있습니다. 회차 ID, 원래 예정일, 실제 완료일과 다음 예정일을 분리해 주간·월말 업무를 비교합니다.
아래 업무 ID, 사람·팀 이름, 날짜와 값은 구조를 설명하기 위한 가상 자료입니다. 실제 고객 정보나 현장 성과를 포함하지 않습니다.
예정일을 실제 완료일로 바꾸지 않기
매주 월요일에 하기로 한 문서 점검을 화요일에 끝냈다고 가정합니다. 완료일을 다음 주 계산의 시작점으로 쓰면 이후에도 화요일 일정으로 밀리고 원래 월요일 약속이 사라질 수 있습니다. 이 글의 달력은 고정된 예정일에서 다음 예정일을 만들며 실제 완료일은 수행 결과로 따로 남기는 설계입니다.
완료 후 일정 간격을 기다리는 업무도 존재합니다. 장비의 실제 사용이나 교체 후 일정 기간을 세는 업무라면 완료일 기준이 맞을 수 있습니다. 그러나 고정 주간 점검과 완료 후 간격 점검을 한 열에 혼용하면 담당자가 계산 기준을 알 수 없습니다. 업무ID마다 일정 생성 방식과 변경 책임자를 먼저 정해야 합니다.
업무 ID와 회차 ID를 나누기
W-01은 반복되는 한 업무를 가리키고 P-001은 이번 회차를 찾는 번호입니다. 다음 회차가 만들어지면 같은 W-01에 새 회차 ID를 붙입니다. 지난 회차의 행을 다음 날짜로 덮어쓰면 지연·누락 기록을 다시 찾기 어렵습니다. 한 행은 한 회차라는 기준을 유지하고 완료되지 않은 지난 회차도 그대로 보존합니다.
샘플의 W-01부터 W-05는 서로 다른 업무이며 설명을 간단히 하기 위해 회차 번호를 P-001부터 사용했습니다. 실제 회차 ID는 업무ID와 예정일을 묶어 만들 수 있지만 동일 날짜에 두 회차가 있는지 확인해야 합니다. 날짜를 수정할 때 ID까지 바꾸면 원래 회차와 일정 변경 관계가 사라질 수 있으므로 정정 이력을 남깁니다.
지연일을 계산하는 기준
미완료 회차의 지연일은 판정기준일에서 예정일을 뺀 날짜 차이 중 0보다 큰 값입니다. 완료 회차는 실제완료일과 예정일의 차이로 계산합니다. 따라서 P-002는 3월 2일 기준 하루 지연이고, P-005는 2월 28일 예정에 3월 1일 완료해서 하루 지연완료입니다. 완료했다고 지연일을 0으로 지우지 않습니다.
P-003은 오늘이 예정일이라 오늘예정이고 지연일은 0입니다. 아직 하루가 끝나지 않았다는 이 샘플의 날짜 기준에 따른 판정입니다. 오전 9시까지 해야 하는 업무라면 날짜만으로는 늦었는지 알 수 없으므로 시각과 시간대를 포함한 별도 설계가 필요합니다. 달력 하루 차이와 영업일 하루 차이는 같은 단위가 아닙니다.
월말에는 30일 더하기를 쓰지 않기
월말 업무는 각 달의 마지막 날짜를 찾아야 합니다. 2027년 2월은 28일까지라 다음 월말은 3월 31일입니다. 2월 28일에 30일을 더하는 방식은 월말이라는 원래 기준과 맞지 않을 수 있습니다. 달의 마지막 날짜는 연도와 월을 함께 확인해 정합니다.
31일 고정 업무에서 다음 달에 31일이 없으면 그 달 마지막 날로 옮길지 해당 회차를 건너뛸지도 별도 정책입니다. 이 글은 월말 업무만 다루므로 매달 마지막 날을 사용합니다. 스케줄러의 날짜 표현은 제품별로 존재하지 않는 날짜를 처리하는 방식이 다를 수 있어 도구가 알아서 같은 정책을 적용한다고 가정하지 않습니다.
휴무일과 조기 완료를 따로 기록하기
휴무 때문에 월요일 업무를 금요일에 당겨 끝내는 경우에도 원래 예정일은 보존합니다. P-007은 3월 1일 예정에 2월 28일 완료한 조기완료 사례입니다. 지연일은 0이고 다음 예정일은 원래 주간 기준의 3월 8일입니다. 2월 28일에 7일을 더해서 다음 일정까지 당기지 않습니다.
공휴일이나 회사 휴무 때문에 예정일을 이동시키려면 원래 예정일, 조정 예정일, 이동 사유를 추가합니다. 이 CSV는 휴일 달력을 포함하지 않으므로 2027년 해당 날짜가 영업일인지 판단하지 않습니다. 주간은 7개 달력일 간격이고 지연일도 달력 날짜 차이라는 조건을 먼저 읽고 실제 영업일 정책이 필요한 경우 별도 자료를 연결합니다.
밀린 회차를 처리하고 다시 일정에 맞추기
지난 월말 회차가 끝나지 않았더라도 다음 월말 회차는 예정될 수 있습니다. P-006은 2월 회차가 지연 중이고 다음 예정일은 3월 31일입니다. 다음 날짜가 있다는 이유로 지난 행을 완료 처리하지 않습니다. 뒤늦게 수행할 필요가 있는지, 이미 다른 회차가 같은 목적을 수행했는지 업무 책임자가 결정해야 합니다.
누락 회차를 생략하기로 했다면 완료가 아니라 생략승인 같은 별도 상태와 이유를 남깁니다. 안전·법정·계약상 점검은 내부 편의로 생략할 수 있다는 안내가 아닙니다. 이 샘플은 예정과 실제 기록을 비교하는 달력이며 알림이나 법적 기한 계산을 수행하지 않습니다. 일정 변경은 원래 회차를 보존한 상태에서 근거와 적용 범위를 확인해야 합니다.
상태를 바꾸는 조건
| 현재 상태 | 다음 상태 | 필요한 조건 | 조건이 없을 때 |
|---|---|---|---|
| 예정 | 오늘예정 | 기준일=예정일·미완료 | 날짜 기준 유지 |
| 오늘예정 | 지연 | 기준일>예정일·미완료 | 완료 표시 복사 금지 |
| 지연 | 지연완료 | 실제 완료·예정일보다 늦음 | 지연일 보존 |
| 지연 | 생략검토 | 필요성·권한·영향 확인 | 법정 의무 임의 생략 금지 |

작업표에 입력하는 순서
- 업무마다 고정 예정일 기준인지 완료일 기준인지 정합니다.
- 주간·월말처럼 주기와 날짜 단위를 명시합니다.
- 한 회차에 한 행을 만들고 예정일을 고정해 남깁니다.
- 실제 수행한 날짜만 실제완료일에 적습니다.
- 완료 여부에 따라 지연일의 비교 날짜를 나눕니다.
- 다음 회차를 만들 때 지난 미완료·지연 기록을 보존합니다.
샘플 기록과 행별 해석
| 회차ID | 업무ID | 주기 | 예정일 | 실제완료일 | 판정기준일 | 지연일 | 다음예정일 | 판정 |
|---|---|---|---|---|---|---|---|---|
| P-001 | W-01 | 주간 | 2027-03-01 | 2027-03-01 | 2027-03-02 | 0 | 2027-03-08 | 정시완료 |
| P-002 | W-02 | 주간 | 2027-03-01 | 2027-03-02 | 1 | 2027-03-08 | 지연 | |
| P-003 | W-03 | 주간 | 2027-03-02 | 2027-03-02 | 0 | 2027-03-09 | 오늘예정 | |
| P-004 | W-04 | 주간 | 2027-03-03 | 2027-03-02 | 0 | 2027-03-10 | 예정 | |
| P-005 | M-01 | 월말 | 2027-02-28 | 2027-03-01 | 2027-03-02 | 1 | 2027-03-31 | 지연완료 |
| P-006 | M-02 | 월말 | 2027-02-28 | 2027-03-02 | 2 | 2027-03-31 | 지연 | |
| P-007 | W-05 | 주간 | 2027-03-01 | 2027-02-28 | 2027-03-02 | 0 | 2027-03-08 | 조기완료 |
| P-008 | M-03 | 월말 | 2027-03-02 | 기준오류 |
P-001 — 예정일과 실제완료일이 같아 정시완료이고 지연일은 0입니다. 다음 주간 예정은 3월 8일입니다. 샘플은 날짜까지만 비교하므로 같은 날 몇 시에 완료했는지까지 정상이라고 판단하지 않습니다.
P-002 — 3월 1일 예정인데 완료일이 없습니다. 3월 2일 기준 하루 지연입니다. 다음 주 예정이 3월 8일로 적혀 있어도 이 회차가 자동으로 닫히지 않습니다. 담당자는 현재 회차의 다음 행동을 따로 정해야 합니다.
P-003 — 판정기준일과 예정일이 같은 미완료 회차입니다. 오늘예정과 지연일 0으로 표시합니다. 특정 시각까지 완료해야 하는 업무라면 별도 시각 기준을 적용하고 오늘이라는 이유로 늦음을 숨기지 않습니다.
P-004 — 3월 3일 예정은 기준일보다 미래입니다. 예정 상태이며 지연일 0입니다. 0이라는 숫자를 완료와 연결하지 않고 실제완료일이 비어 있다는 사실을 함께 표시합니다.
P-005 — 월말 예정일 2월 28일을 지나 3월 1일에 완료했습니다. 지연완료 하루를 남기고 다음 월말은 3월 31일로 정합니다. 완료일에서 한 달을 더해 4월 1일로 이동하지 않습니다.
P-006 — 2월 월말 회차가 아직 완료되지 않았습니다. 3월 2일 기준 2일 지연입니다. 다음 월말 날짜와 별도로 이전 회차를 수행·생략·정정할지 책임자가 결정해야 하며 행을 다음 회차로 덮어쓰지 않습니다.
P-007 — 하루 일찍 수행한 주간 업무입니다. 조기완료이고 지연일은 0입니다. 다음 일정은 원래 3월 1일에서 7일 뒤인 3월 8일이며 실제 완료일 2월 28일을 일정 기준으로 쓰지 않습니다.
P-008 — 예정일이 없어 지연일이나 다음 월말을 계산할 기준이 없습니다. 0을 넣거나 기준일을 예정일로 복사하지 않고 기준오류로 둡니다. 실제 업무의 최초 예정과 주기 정책을 확인한 뒤 기록합니다.
이 글의 기록 양식 내려받기
반복 업무의 예정일과 실제 완료일을 분리해 밀린 일 찾기 — CSV 양식
UTF-8 BOM이 있는 기록용 CSV입니다. 계산식·드롭다운·서식은 들어 있지 않습니다. 첫 행 9열, 설명용 데이터 8레코드가 있습니다.
모든 행은 가상 입력이며 실제 개인정보·성과 기록이 아닙니다.
CSV에 자동 차단·알림·권한 통제·실행 기능은 없습니다.
CSV 구조와 식별자 점검 도구에서 사본의 열 수와 문자열을 확인할 수 있습니다.
작업표 사용 범위
CSV는 열 이름과 샘플 값을 제공하는 기록 양식입니다. 상태 차단, 권한 확인, 알림, 자동 실행은 포함하지 않습니다. 파일을 가져온 도구에서 ID와 시각을 원문대로 보존하고, 담당자와 기준을 실제 업무에 맞게 바꿔야 합니다. 빈칸은 누락 여부를 확인하기 위한 입력이며 임의로 완료나 0으로 바꾸지 않습니다.
예상 결과를 대조할 입력
| 확인 항목 | 입력 | 예상 판정 | 판정 이유 |
|---|---|---|---|
| 주간 고정 | 예정2027-03-01,완료2027-03-02 | 다음2027-03-08 | 완료일이 아니라 예정일에 7일을 더한다 |
| 월말 이동 | 예정2027-02-28 | 다음2027-03-31 | 각 달 마지막 날짜를 선택한다 |
| 미완료 지연 | 예정2027-02-28,기준2027-03-02 | 2일 지연 | 완료일이 없으므로 기준일과 비교한다 |
| 윤년 월말 | 2028-02 월말 | 2028-02-29 | 해당 연도의 달 길이를 사용한다 |
근거 자료와 적용 범위
공식 자료는 아래에 적힌 기능과 개념을 확인하는 데 사용했습니다. 업무 상태 이름, 담당 배정, 시간 기준과 샘플 숫자는 이 글에서 설계한 운영 예시입니다.
- Python calendar.monthrange 공식 문서 — 연·월에 따른 마지막 날짜를 구하는 함수 정의를 확인합니다. 휴무일 이동 정책은 별도 운영 기준으로 정해야 합니다.
- Amazon EventBridge 일정 종류 — 반복 일정과 시각·시간대를 명시하는 제품 동작을 확인합니다. 샘플 달력은 스케줄러를 실제로 설치하거나 실행한 기록이 아닙니다.