내용 검토: 2026년 10월 9일. Google Sheets의 영업일 함수 공식 도움말과 Excel 함수 문서를 대조하고, 아래 예제와 실습 파일의 계산 결과를 검산했습니다.
납기일처럼 시작일에서 N영업일 뒤 날짜를 구하려면 WORKDAY.INTL, 시작일과 종료일 사이의 영업일 수를 세려면 NETWORKDAYS.INTL을 쓰세요. 휴일 목록까지 지정하면 주말과 회사 휴무일을 함께 제외할 수 있습니다.
가장 많이 쓰는 수식: =WORKDAY.INTL(A2,B2,1,$D$2:$D$20)은 A2 날짜부터 B2 영업일 뒤 날짜를 반환합니다. =NETWORKDAYS.INTL(E2,F2,1,$D$2:$D$20)은 E2부터 F2까지 영업일 수를 셉니다. 두 수식에서 1은 토·일요일을 주말로 지정하고 D2:D20은 직접 관리하는 휴일 목록입니다.
마감일과 기간 중 어떤 함수를 쓸까
먼저 필요한 결과가 날짜인지 숫자인지 구분하세요. 주문 접수일에서 배송 준비 기간을 더해 예상 발송일을 만들거나, 업무 접수일에 처리기한을 더해 마감일을 정할 때는 WORKDAY.INTL을 사용합니다. 계약 기간·근무 기간·처리 건의 SLA 안에 영업일이 며칠 있는지 세려면 NETWORKDAYS.INTL이 맞습니다.
| 필요한 결과 | 함수 | 기본 형태 | 계산 결과 |
|---|---|---|---|
| 기준일에서 N영업일 뒤 날짜 | WORKDAY.INTL | =WORKDAY.INTL(기준일,일수,주말,휴일) | 날짜 |
| 두 날짜 사이의 영업일 수 | NETWORKDAYS.INTL | =NETWORKDAYS.INTL(시작일,종료일,주말,휴일) | 정수 |
두 함수 모두 세 번째 인수에 주말 규칙, 네 번째 인수에 휴일 날짜 범위를 받습니다. 토·일요일만 주말이면 숫자 코드 1을 넣으면 됩니다. 주말 인수를 생략해도 기본값은 토·일요일입니다.
표를 복사해 결과 검산하기
아래 탭으로 구분된 두 줄을 새 시트의 A1 셀에 붙여 넣으면 기준일, 더할 영업일 수, 휴일, 기간 시작·종료일과 수식을 한 번에 확인할 수 있습니다. 예제 휴무일 2026년 7월 8일은 계산을 보여 주기 위한 가상의 회사 휴무일이며 실제 공휴일을 뜻하지 않습니다.
기준일 더할 영업일 마감일 휴일 목록 기간 시작 기간 종료 기간 내 영업일
2026-07-06 3 =WORKDAY.INTL(A2,B2,1,$D$2:$D$20) 2026-07-08 2026-07-06 2026-07-13 =NETWORKDAYS.INTL(E2,F2,1,$D$2:$D$20)
날짜 값이 정상 인식되면 C2는 2026년 7월 10일 금요일, G2는 5일이 됩니다. 7월 6일 월요일 자체는 세지 않고 7월 7일부터 시작합니다. 7월 8일은 D열의 가상 휴무일이므로 3영업일 뒤는 7월 10일입니다. 7월 6일부터 13일까지의 기간에는 주말과 가상 휴무일을 뺀 평일 5일이 들어갑니다.
운영 표에 수식을 아래로 채울 때 기준일이나 일수가 비어 있는 행에는 결과를 표시하지 않도록 감싸면 보기 편합니다.
=IF(OR(A2="",B2=""),"",WORKDAY.INTL(A2,B2,1,$D$2:$D$20))
붙여 넣은 표와 별도로 아래 검산 네 건을 계산해 보세요. 같은 휴일 목록을 유지했을 때 결과가 다르면 기준일의 날짜 형식과 D열 참조 범위를 먼저 비교합니다.
| 검산 상황 | 수식·입력 | 기대 결과 |
|---|---|---|
| 금요일에서 다음 영업일, 휴일 없음 | =WORKDAY.INTL(DATE(2026,7,10),1,1) | 2026-07-13 월요일 |
| 가상 휴무일에서 다음 영업일 | A2=2026-07-08, B2=1, D2=2026-07-08 | 2026-07-09 목요일 |
| 금요일 기준 과거 1영업일 | =WORKDAY.INTL(DATE(2026,7,10),-1,1,$D$2:$D$20) | 2026-07-09 목요일 |
| 시작일·종료일 사이 평일 집계 | =NETWORKDAYS.INTL(DATE(2026,7,6),DATE(2026,7,13),1,$D$2:$D$20) | 5일 |
휴일을 더 넣으려면 D3:D20에 날짜를 추가하세요. 계산 기간을 늘리거나 수식을 아래로 복사해도 휴일 범위는 $D$2:$D$20로 고정되고, 기준일과 일수는 행에 따라 바뀝니다. 휴일이 19개보다 많다면 두 수식의 범위를 늘리거나 범위에 이름을 지정하세요. 한 해의 휴일을 수식마다 직접 적는 대신 목록으로 관리하면 연도·사업장별 달력을 검토하기 쉽습니다.
결과 셀이 45,000처럼 보이는 숫자를 표시하면 계산 오류가 아닐 수 있습니다. C열을 선택해 서식 → 숫자 → 날짜로 바꾸세요. 반대로 날짜처럼 보이는 시작일이나 휴일이 계산에서 무시되면 그 셀이 날짜 값인지 먼저 검사합니다. 빈 셀에서 =ISNUMBER(A2)를 실행해 TRUE인지 확인하세요. FALSE라면 값이 텍스트일 수 있습니다.
주말 코드와 휴일 목록 관리
WORKDAY.INTL과 NETWORKDAYS.INTL의 주말 인수에는 숫자 코드 또는 7자리 문자열을 넣습니다. 문자열은 월요일부터 일요일 순서이며 0은 근무일, 1은 주말입니다.
1또는"0000011": 토요일·일요일 휴무."0000110": 금요일·토요일 휴무. 주말이 다른 팀의 반복 주간 일정 예시입니다.- 주말 문자열을 바꿀 때는 글자 수가 7개인지, 월요일부터 시작했는지 확인하세요. 다른 위치에 1을 두면 다른 요일이 휴무 처리됩니다.
이 문자열은 매주 반복되는 7일 달력을 나타냅니다. 2주 교대처럼 사람마다 쉬는 요일이 돌아가거나, 날짜마다 다른 현장 휴무 규칙이 있다면 단일 주말 코드만으로 정확한 개인별 마감일을 표현할 수 없습니다. 그런 경우 직원·사업장별 근무일 달력을 표로 관리하고 그 달력과 대조해 결과를 검수하세요.
함수는 국가 공휴일이나 회사 휴무일을 알아서 내려받지 않습니다. 함수에 넘긴 휴일 목록에 있는 날짜만 제외하므로 적용 지역·연도·사업장의 실제 근무 규칙에 맞는 표를 따로 관리해야 합니다. 휴일 목록을 만들 때는 다음 순서로 검수하세요.
- 계약서·인사 공지·운영 캘린더에서 계산 기준 지역과 휴무일을 확인합니다. 국가 공휴일과 회사 지정 휴무일이 다를 수 있습니다.
- 휴일을 한 열에 날짜 값으로 한 날짜씩 넣고, 같은 날짜가 중복되거나 텍스트·시간 값이 섞이지 않았는지 확인합니다.
- 새해 일정이 확정되면 목록에 미리 추가하고, 각 계산식의 휴일 범위가 새 행까지 포함하는지 확인합니다.
- 여러 지역이나 사업장이 있으면 달력 열을 따로 둡니다. 수식에서 실제 업무에 적용할 달력 하나를 명확히 참조하세요.
범위를 자주 고치게 된다면 데이터 → 이름이 지정된 범위에서 휴일 범위를 Holidays_2026으로 등록할 수 있습니다. 그러면 수식은 =WORKDAY.INTL(A2,B2,1,Holidays_2026)처럼 읽기 쉬워집니다. 이름 범위에 다음 연도 휴일을 추가할 때는 기존 수식까지 포함되는지 검산하세요.
여러 명이 마감표를 입력한다면 휴일 열에 적용 지역과 연도를 표시하고, 실수로 기준일을 바꾸지 않도록 계산식·휴일 범위를 보호하세요. 입력할 셀만 열어 두는 방법은 Google Sheets 수식 셀 보호 안내를 참고할 수 있습니다.
문자열 날짜가 셀에 저장됐다면 DATEVALUE로 변환할 수 있지만, 인식되는 날짜 표기는 스프레드시트 지역 설정에 따라 달라집니다. 파일 → 설정에서 스프레드시트의 위치를 확인하고 변환된 결과는 날짜 서식으로 표시하세요. 통합문서 전체에 영향을 줄 수 있으므로 로캘을 바꾸기 전에 팀에서 쓰는 날짜·숫자 형식도 확인하는 편이 안전합니다.
영업일 마감 규칙 정하기
고객 문의 SLA나 출고 준비 기한을 계산하기 전에는 ‘접수 당일도 첫째 날인가’를 정하세요. WORKDAY.INTL은 기준일 다음부터 영업일을 더합니다. 예를 들어 수요일 접수일을 1일째로 포함하는 3영업일 기한이라면, 수요일이 정상 근무일일 때 추가 일수는 2일이므로 =WORKDAY.INTL(A2,B2-1,1,$D$2:$D$20)로 금요일을 구할 수 있습니다. 회사 규정이 접수 다음 영업일부터 세도록 정했다면 앞 절의 B2 수식을 그대로 사용하세요.
접수 시간이 마감 시각을 넘었거나 시작일이 주말·휴일이면 기준일을 다음 영업일로 옮긴 뒤 계산해야 할 수 있습니다. 함수는 날짜와 휴일을 계산하지만 ‘오후 5시 이후 접수는 다음 날 시작’ 같은 내부 마감 정책이나 영업시간을 판정하지 않습니다. 원본 접수 시각은 보존하고 별도 열에 정책에 맞는 계산 시작일을 만든 다음, 그 열을 함수에 전달하면 결과와 판단 근거를 함께 남길 수 있습니다.
| 업무 달력 | 함수로 표현 | 추가로 확인할 것 |
|---|---|---|
| 매주 월~금 근무 | 주말 코드 1 | 지역·회사 휴일 목록을 네 번째 인수에 전달 |
| 매주 금·토 휴무 | 주말 패턴 "0000110" | 문자열이 월요일부터 7일인지 확인 |
| 특정 토요일만 대체 근무 | 주말 코드는 반복 요일만 지정 | 날짜별 근무표에서 예외일을 별도 처리 |
| 개인별 순환 교대 | 한 사람의 반복 주간 코드로 표현 불가 | 직원·기간별 근무 달력을 기준으로 계산 |
| 영업시간 기준 4시간 SLA | 날짜 단위 함수만으로 시간 합산 불가 | 휴게시간·업무 시간대를 포함한 별도 규칙 필요 |
시작일·종료일 계산 기준
WORKDAY.INTL은 기준일 자체를 1일로 세지 않고 기준일 다음부터 영업일을 셉니다. 따라서 토·일요일만 주말인 달력에서 금요일에 1영업일을 더하면 다음 월요일입니다. 금요일부터 세 영업일 뒤를 구하면서 월요일이 휴일 목록에 있으면 화요일·수요일·목요일 순으로 세어 목요일이 결과가 됩니다.
NETWORKDAYS.INTL은 시작일과 종료일을 모두 계산 구간에 포함합니다. 두 날짜가 평일이고 중간에 휴일이 없으면 월요일부터 금요일까지 5일입니다. 시작일을 제외한 ‘그 다음 날부터’의 처리 기간을 보고 싶다면 시작 날짜를 하루 조정하기 전에 업무 규칙을 먼저 정하세요. 시작일·종료일을 무심코 빼면 하루가 더해지거나 빠지는 경계 오류가 납니다.
달력 날짜 차이와 영업일 수도 구분하세요. 예를 들어 7월 6일과 7월 13일의 차이인 =F2-E2는 7일이고, 양끝 날짜를 모두 세는 달력 일수는 =F2-E2+1로 8일입니다. 같은 구간의 영업일 수는 주말과 D열 휴일을 제외한 5일입니다. 계약서나 SLA가 ‘달력일’인지 ‘영업일’인지 확인한 뒤 맞는 결과를 선택하세요.
과거 영업일을 찾을 때는 WORKDAY.INTL(A2,-1,1,$D$2:$D$20)처럼 일수에 음수를 넣을 수 있습니다. 기준일보다 앞의 영업일을 찾으며, 앞으로 계산하는 수식과 같은 주말·휴일 목록을 써야 두 방향의 결과가 일관됩니다.
함수를 적용하기 전에 ‘영업일’이 실제 업무 규칙과 같은지도 확인하세요. 특정 토요일을 임시 근무일로 바꾸거나 대체 휴무일을 적용하는 경우에는 기본 주말 코드와 휴일 제외 목록만으로 모든 예외를 표현할 수 없습니다. 함수의 휴일 인수는 날짜를 제외하는 목록이지 주말을 근무일로 되돌리는 목록이 아닙니다. 날짜마다 근무 여부가 바뀌는 교대 일정, 시간 단위 SLA, 오전·오후별 영업시간은 별도의 근무 달력이나 영업시간 표를 기준으로 계산해야 합니다.
결과가 틀릴 때 확인할 항목
| 증상 | 우선 확인 | 조치 |
|---|---|---|
| 휴일인데 날짜에 포함됨 | 휴일 값이 실제 날짜인지, 휴일 범위가 수식의 네 번째 인수인지 | ISNUMBER(D2)로 확인하고 날짜 값으로 변환한 뒤 휴일 범위를 다시 지정합니다. |
| 결과가 하루 어긋남 | 시작일 다음부터 세는지, 기간 함수가 양 끝 날짜를 포함하는지 | 기준일·종료일과 실제 업무 규칙을 작은 날짜 표에 적어 예상값과 비교합니다. |
| 다른 요일이 주말로 빠짐 | 숫자 코드와 7자리 문자열의 요일 순서 | 월요일부터 일요일까지 0·1을 다시 적고 휴무 요일과 대조합니다. |
| 날짜 대신 큰 숫자가 나옴 | 결과 셀 표시 형식 | 서식 → 숫자 → 날짜를 선택합니다. 날짜는 내부적으로 숫자 값으로 저장됩니다. |
| 수식 분석 오류가 남 | 함수 인수 구분자와 수식 입력 언어 설정 | 시트 로캘에 따라 인수 사이의 쉼표를 세미콜론으로 바꿔 보세요. 함수 이름 설정도 확인합니다. |
문제가 계속되면 먼저 2~3행짜리 테스트 범위에서 기준일·주말·휴일을 하나씩 바꿔 보세요. 실무 마감표 전체를 고치기 전에 기대 결과와 실제 결과를 비교하면 잘못된 휴일 목록이나 날짜 텍스트를 빠르게 찾을 수 있습니다.
실습 시트 내려받기
수식과 휴일 범위를 직접 고쳐 보려면 영업일 계산 실습 파일(.xlsx)을 내려받으세요. Google Drive에 올린 뒤 Google Sheets로 열면 됩니다. 노란색 칸은 입력값, 초록색 칸은 계산 결과이며, 기준일·일수·기간 종료일·휴일 목록을 바꾸며 결과를 검산할 수 있습니다.
파일에 든 2026년 7월 8일은 설명용 가상 휴무일입니다. 한국 공휴일이나 회사별 근무 달력이 아니므로, 실제 업무에는 해당 지역·연도의 공식 일정과 회사 공지를 확인해 휴일 목록을 바꾸세요. 수식은 이 목록에 입력한 날짜만 제외합니다.
자주 묻는 질문
휴일 목록을 비워도 수식이 작동하나요?
네. 네 번째 인수를 생략하거나 빈 범위를 지정하면 주말 규칙만 적용됩니다. 이때 국가 공휴일과 회사 휴무일은 자동 제외되지 않습니다.
WORKDAY와 WORKDAY.INTL은 무엇이 다른가요?
WORKDAY는 토·일요일이 휴일인 일반 일정에 쓰고, WORKDAY.INTL은 주말 요일을 바꿔야 할 때 사용합니다. 기간 내 영업일 수를 세는 대응 함수는 NETWORKDAYS와 NETWORKDAYS.INTL입니다.
근무일이 불규칙한 교대근무에도 쓸 수 있나요?
매주 같은 요일을 쉬는 일정이라면 7자리 주말 문자열로 설정할 수 있습니다. 날짜별 휴무가 순환하거나 직원별로 다르면 회사 근무일 달력을 별도로 만들어 그 달력에 맞춰야 합니다.
Apps Script로 직접 계산하는 게 낫나요?
주말과 휴일 목록으로 날짜를 계산하는 일은 내장 함수부터 쓰는 편이 단순합니다. 다른 시트의 데이터 결합, 승인 상태 기록, 알림 발송처럼 계산 외의 작업까지 자동화해야 할 때 Apps Script를 검토하세요. Sheets 날짜는 Apps Script에서 JavaScript Date 객체가 되며, 시간대가 다르면 추가 보정이 필요할 수 있습니다.
