WORKDAY·NETWORKDAYS 실습: 시작일·휴일·주말을 나눠 검산하기
가상 시작일 2026-07-01에서 열 업무일을 이동한 납기는 7월 16일인데, 그날까지 NETWORKDAYS로 세면 11이 나옵니다. 날짜를 이동하는 질문과 시작·끝 사이의 개수를 세는 질문이 다르기 때문입니다. 첨부에서는 결과 하나만 맞추지 않고 날짜별 31행까지 확인합니다.
가상 휴무일 입력은 2026-07-15 하나입니다. 가상 실습 날짜를 회사 휴무일이나 공식 공휴일로 해석하지 않습니다. 함수가 공휴일을 알아서 내려받는 것도 아닙니다.

입력 다섯 개와 고정 달력
업무일 시트 B2는 2026-07-01, B3은 2026-07-31, B4는 10, B5는 5, B6은 가상 휴일 2026-07-15입니다. 날짜는 실제 숫자 날짜이고 표시 형식만 yyyy-mm-dd입니다. 직접 재현할 때 =DATE(2026,7,1)처럼 DATE로 넣으면 문자 날짜와 혼동을 줄일 수 있습니다.
첨부의 B7은 다섯 셀이 숫자이며 날짜가 양의 정수이고 이동 일수가 음이 아닌 정수인지 검사합니다. 이 조건은 본 예제의 입력 규칙입니다. WORKDAY가 모든 소수 인자를 일반적으로 오류로 처리한다는 뜻이 아닙니다.
빈 셀을 날짜로 계산하지 않는 입력 검사
첨부와 같은 동작을 직접 만들려면 업무일!B7에 아래 식을 입력합니다. 먼저 숫자가 다섯 개인지 확인한 뒤에만 INT를 적용합니다. B2·B3·B6은 날짜, B4·B5는 이동 일수이므로 검사할 역할이 다릅니다.
=IF(COUNT(B2:B6)<>5,"숫자 확인",IF(OR(B2<>INT(B2),B3<>INT(B3),B6<>INT(B6),B2<1,B3<1,B6<1,B4<0,B5<0,B4<>INT(B4),B5<>INT(B5)),"정수·범위 확인","계산"))
이 파일은 가상 휴일 한 개를 필수 입력으로 둡니다. B6을 지우면 휴일 없음으로 진행하지 않고 숫자 확인입니다. 휴일 없는 비교는 E3·E5처럼 휴일 인수 자체를 생략한 식을 사용합니다. COUNT는 빈 셀·문자 날짜·논리값을 숫자로 세지 않으므로 날짜 서식을 입힌 빈 셀이 검사에 통과하지 않습니다.
E2: 검사 상태를 포함한 납기 수식
=IF($B$7="계산",WORKDAY($B$2,$B$4,$B$6),"입력 확인")
E4: 검사 상태를 포함한 기간 업무일 수식
=IF($B$7="계산",NETWORKDAYS($B$2,$B$3,$B$6),"입력 확인")
E2에는 날짜 표시 형식 yyyy-mm-dd, E4에는 일반 또는 숫자 형식을 적용합니다. 날짜는 내부적으로 일련번호이므로 날짜 결과가 큰 정수로 보여도 입력이 문자라는 뜻은 아닙니다. 반대로 ISNUMBER가 TRUE여도 업무상 올바른 날짜라는 보장은 없습니다. 기본 1900 날짜 체계에서 숫자 1도 1900-01-01이라는 날짜입니다. 이 검사는 가상 2026년 입력을 위한 기본 형식 검사이며, 업무상 허용 기간이나 Excel의 최대 날짜 범위까지 검사하지 않습니다. Microsoft WORKDAY의 날짜·일련번호 설명
가상 입력 표인 7월달력!A2:A32에는 2026-07-01부터 2026-07-31까지 날짜31개가 있습니다. 설정 월을 바꿔도 이 범위가 자동으로 늘어나지 않습니다. 이번 기본값을 검산하는 용도로 사용합니다.
열 날짜를 직접 세어 납기와 비교하기
업무일!E2는 아래 수식을 B7이 계산일 때 실행합니다.
=WORKDAY($B$2,$B$4,$B$6)
Microsoft WORKDAY 문서는 주말과 지정한 휴일을 업무일에서 제외한다고 설명합니다. 이 입력에서는 7월 2·3·6·7·8·9·10·13·14·16일이 차례로 열 날짜입니다. 시작일 1일은 이동한 첫날로 세지 않고 15일도 휴일이므로 건너뜁니다.
가상 입력에서 E3은 휴일 인자를 뺀 비교식이며 결과는 2026-07-15입니다. 두 결과가 다를 때 시작일에 단순히 10을 더해서 맞추지 말고 어느 날짜를 제외했는지 보세요.
기간의 양 끝을 포함한 개수 읽기
업무일!E4에서 기본 기간의 업무일을 셉니다.
=NETWORKDAYS($B$2,$B$3,$B$6)
Microsoft NETWORKDAYS 문서의 업무일 개수 계산을 가상 달력과 대조합니다. 7월의 토·일 제외 날짜는 23개이고 평일 휴무 하나를 더 빼면 22개입니다. 1일과 31일도 업무일이면 포함됩니다.
E11은 시작일부터 E2의 납기일까지 세므로 11입니다. WORKDAY의 이동량 10과 다르다고 수식이 틀린 것은 아닙니다. 반대로 모든 NETWORKDAYS에서 무조건 1을 빼면 시작일이 휴무일인 사례를 잘못 처리합니다.

셀별 기대값과 금·토 휴무의 차이
| 업무일 시트 | 질문 | 기본 기대값 |
|---|---|---|
| E2 / E3 | 휴일 적용 / 미적용 납기 | 2026-07-16 / 2026-07-15 |
| E4 / E5 | 휴일 적용 / 미적용 월 업무일 | 22 / 23 |
| E6 / E7 | 근무일 하루 / 휴일 하루 | 1 / 0 |
| E8 | 7월 31일부터 5업무일 전 | 2026-07-24 |
| E9 | 7월 31일부터 1일로 역순 | -22 |
| E10 | 금·토 휴무와 가상 휴일 | 21 |
| E11 | 시작일부터 납기일까지 | 11 |
| E12 / E13 | 고정 달력의 업무 표시 합 | 22 / 21 |
E8은 WORKDAY(B3,-B5,B6)로 과거 날짜를 구합니다. E9의 음수는 시작과 끝의 방향이 바뀐 결과이므로 ABS를 씌워 같은 의미로 만들지 않습니다.
E10의 계산식은 NETWORKDAYS.INTL(B2,B3,7,B6)입니다. NETWORKDAYS.INTL의 주말 코드 7은 금요일과 토요일 휴무입니다. 주말 코드 표에서 대응을 확인하세요. 7월달력 B열은 월요일 1 기준 요일, C열은 토·일 제외, D열은 휴일 제외, E·F열은 각 주말 규칙에서 업무일이면 1입니다. F열의 금·토 기준 합계 21을 E10과 대조합니다.
기본값을 넣고 업무일!G2:G13이 모두 TRUE인지 확인한 뒤, 달력의 7월 15일 E·F가 모두 0인지 직접 읽습니다. 요약만 맞고 제외 사유가 틀리지 않도록 하기 위한 확인입니다.
31행 달력을 만들어 요약 수식을 따로 검산하기
새 7월달력 시트의 A1:F1에 가상 날짜·월=1 요일·토·일 제외·휴일 제외·토·일 업무·금·토 업무를 적습니다. A2에 =DATE(2026,7,1), A3에 =A2+1을 입력하고 A3을 A32까지 아래로 채웁니다. A32가 2026-07-31인지 확인합니다. 첨부의 A열은 고정 날짜 값이며 이 절차는 같은 날짜 목록을 직접 만드는 방법입니다.
B2: 월요일을 1로 두는 요일
=WEEKDAY(A2,2)
C2: 토·일이면 제외 표시 1
=IF(B2>=6,1,0)
D2: 지정한 가상 휴일이면 1
=IF(A2='업무일'!$B$6,1,0)
E2: 토·일 또는 휴일이면 업무일 0
=IF(OR(C2=1,D2=1),0,1)
F2: 금·토 또는 휴일이면 업무일 0
=IF(OR(B2=5,B2=6,D2=1),0,1)
B2:F2를 32행까지 아래로 채웁니다. E열과 F열의 1은 일한 날, C열과 D열의 1은 제외할 날이라는 차이를 확인하세요. =SUM(E2:E32)는 22, =SUM(F2:F32)는 21이어야 합니다. 7월 15일인 16행에서는 D16=1, E16=0, F16=0입니다. 7월 17일인 18행은 금요일이므로 E18=1·F18=0입니다.
이 달력은 NETWORKDAYS 결과를 그대로 참조하지 않고 날짜마다 제외 사유를 계산합니다. 휴일을 7월 17일로 바꾸면 금·토 휴무와 겹치므로 F열 합은 22가 됩니다. 15일로 복원하면 다시 21입니다. 달력 합계를 읽기 전 업무일!B7=계산인지 확인하고, 월을 바꾸면 A열도 해당 기간으로 새로 만드세요. Microsoft NETWORKDAYS.INTL의 주말 코드에서 7=금·토를 확인할 수 있습니다. 이 예제의 함수는 Excel 2016·2019·2021·2024와 Microsoft 365에서 제공되며 동적 배열 입력은 필요하지 않습니다.
월 합계는 같아도 납기는 달라지는 변경 실습
가상 휴무일을 바꾸는 사본 실습에서 B6을 2026-07-17로 입력합니다. E2는 7월 15일로 앞당겨지고 E4는 22로 남습니다. 새 휴일은 첫 열 업무일 뒤에 있으므로 납기에는 영향을 주지 않지만 월 전체에서는 여전히 평일 한 날짜를 제외합니다.
금·토 휴무 기준에서는 17일이 이미 금요일 휴무입니다. 따라서 E10은 22가 됩니다. 휴일을 목록에 적었다고 주말과 겹친 날을 한 번 더 빼지 않는다는 것을 확인할 수 있습니다. B6을 7월 15일로 복구하면 E2/E4/E10은 다시 7월 16일/22/21입니다.

문자 날짜와 잘못된 이동량 복구
사본의 B2에 숫자 날짜가 아닌 문자열 2026-07-01을 붙이면 B7은 숫자 확인, 계산 열은 입력 확인입니다. 날짜 서식만 적용해서 해결됐다고 판단하지 말고 =DATE(2026,7,1)로 다시 만드세요. B7이 계산이고 E2가 7월 16일인지 확인합니다.
B4를 2.5로 바꾸면 정수·범위 확인 상태입니다. 본 실습은 온전한 날 수를 다루므로 이를 2일 또는 3일로 몰래 보정하지 않습니다. 숫자 10으로 복구합니다. 회사 규칙상 반차를 처리해야 한다면 별도 시간표를 만들어야 합니다.
참조 오류가 생기면 삭제된 시트나 수식 주소를 원본 사본과 비교합니다. 결과 셀을 22로 덮지 않습니다.
달력 범위와 업무일 계산의 한계
이 파일의 고정 달력과 기대값은 시작월이 바뀌면 함께 새로 검산해야 하며, 교대근무·시간대·근로 조건·법정 기한을 판정하지 않습니다.
이동 일수와 기간의 업무일 수를 구분했다면 월말 기준의 납기도 따로 검산해 보세요. 월말·마지막 업무일·전후 업무일 비교에서 12개월 월말을 확인한 뒤, 가상 휴일을 넣고 빼며 마지막 업무일과 월말 이후 두 업무일 중 어느 결과가 달라지는지 대조합니다.
첨부에서 확인할 순서
-
업무일!B2:B6을 시작07-01·끝07-31·앞10·뒤5·가상휴일07-15로 맞추고 B7의 계산 상태를 확인합니다.
-
WORKDAY 결과 E2의07-16과 NETWORKDAYS 결과 E4의22를 각각 고정 기대값과 대조합니다.
-
7월달력에서15일을 찾아 E·F열이0인지 확인하고 열 합22·21을 업무일!E12:E13과 비교합니다.
-
가상 휴일을07-17로 바꾸어 납기07-15와 금·토 기준22를 확인한 뒤07-15로 복구합니다.
WORKDAY의 업무일은 주말과 지정한 휴일을 제외합니다.
NETWORKDAYS는 시작일과 종료일 사이의 온전한 업무일 수를 반환합니다.
출처 원문 수집일: S1 2026-09-24; S2 2026-09-24; S3 2026-09-24.