핵심 요약
- "신청일로부터 영업일 2일 뒤"처럼 주말·공휴일을 건너뛴 날짜는
=WORKDAY(신청일, 2, 공휴일표)로 구합니다. - 두 날짜 사이의 영업일 수는
=NETWORKDAYS(시작일, 종료일, 공휴일표)로 셉니다. 이쪽은 시작일과 종료일을 모두 셉니다. - 공휴일은 엑셀이 알아서 빼 주지 않습니다. 공휴일 날짜를 한 열에 적어 두고, 그 범위를
$로 고정해 넣어야 합니다.
"접수 후 영업일 2일 안에 연락", "영업일 기준 5일 뒤 서류 마감"처럼 일정이 영업일로 정해지는 경우가 많습니다. 달력을 보며 주말과 공휴일을 손가락으로 세다 보면, 추석 연휴처럼 쉬는 날이 몰린 주에 하루씩 틀리기 쉽습니다. 고객 신청 명단에 연락 예정일 칸을 수식으로 만들어 두면 신청일만 입력해도 날짜가 바로 나옵니다.
일상에서도 "주문 후 3영업일 뒤 도착" 같은 날짜를 계산할 때 똑같이 쓸 수 있고, 시험 공부에서는 WORKDAY(날짜를 돌려줌)와 NETWORKDAYS(일수를 돌려줌)의 차이를 구분하는 것이 핵심입니다. 이 글은 엑셀 "목적별 함수 조합" 시리즈의 한 편입니다.
예제 표 — 신청 명단과 공휴일표
A열 고객명, B열 신청일이 들어 있고 C열에 연락일을 구합니다. 이름은 모두 연습용으로 지어낸 것입니다. 오른쪽 G열에는 공휴일 날짜를, H열에는 알아보기 쉽게 이름을 적어 둡니다.
| A | B | C | |
|---|---|---|---|
| 1 | 고객명 | 신청일 | 연락일 |
| 2 | 김민준 | 2026-09-21 | (수식) |
| 3 | 이서연 | 2026-09-22 | (수식) |
| 4 | 박준호 | 2026-09-23 | (수식) |
| 5 | 최수아 | 2026-10-01 | (수식) |
| 6 | 정우진 | 2026-10-02 | (수식) |
| 7 | 강하은 | 2026-10-08 | (수식) |
| 8 | 윤태오 | 2026-12-23 | (수식) |
| 9 | 한예린 | 2026-12-24 | (수식) |
공휴일표는 우주항공청이 발표한 「2026년 월력요항」에서 9~12월분을 옮긴 것입니다.
| G | H | |
|---|---|---|
| 1 | 공휴일 | 이름 |
| 2 | 2026-09-24 | 추석 연휴(목) |
| 3 | 2026-09-25 | 추석(금) |
| 4 | 2026-09-26 | 추석 연휴(토) |
| 5 | 2026-10-03 | 개천절(토) |
| 6 | 2026-10-05 | 개천절 대체공휴일(월) |
| 7 | 2026-10-09 | 한글날(금) |
| 8 | 2026-12-25 | 기독탄신일(금) |
토요일과 겹친 9월 26일·10월 3일은 어차피 주말이라 빠지지만, 목록에 같이 적어 두어도 결과는 달라지지 않습니다. 달력에 있는 그대로 적어 두는 편이 나중에 확인하기 쉽습니다.
완성 수식 — 영업일 2일 뒤 연락일
C2 셀: =WORKDAY(B2, 2, $G$2:$G$8)
- C2를 클릭하고 위 수식을 입력한 뒤 Enter를 누릅니다.
- C2의 채우기 핸들을 C9까지 끌어 내립니다.
- 결과가 46288처럼 숫자로 보이면 C열을 선택하고 표시 형식을 "간단한 날짜"로 바꿉니다. 엑셀은 날짜를 속으로 숫자로 저장하기 때문입니다.
공휴일표를 넣었을 때와 넣지 않았을 때(=WORKDAY(B2, 2))를 나란히 놓으면 차이가 잘 보입니다.
| 고객 | 신청일 | C 연락일(공휴일 반영) | 공휴일표 없이 |
|---|---|---|---|
| 김민준 | 9/21(월) | 9/23(수) | 9/23(수) |
| 이서연 | 9/22(화) | 9/28(월) | 9/24(목) |
| 박준호 | 9/23(수) | 9/29(화) | 9/25(금) |
| 최수아 | 10/1(목) | 10/6(화) | 10/5(월) |
| 정우진 | 10/2(금) | 10/7(수) | 10/6(화) |
| 강하은 | 10/8(목) | 10/13(화) | 10/12(월) |
| 윤태오 | 12/23(수) | 12/28(월) | 12/25(금) |
| 한예린 | 12/24(목) | 12/29(화) | 12/28(월) |
공휴일표를 빼면 이서연 님의 연락일이 추석 전날인 9/24(목)로, 윤태오 님은 성탄절인 12/25(금)로 잡힙니다. 쉬는 날에 연락 일정이 들어가는 셈이라, 공휴일표는 꼭 넣어야 합니다.
수식 풀어 보기 — 한 겹씩
1단계: 시작일 B2 — 이날은 세지 않습니다
WORKDAY는 WORKDAY(시작일, 일수, [공휴일]) 모양입니다. 시작일 다음 날부터 영업일을 하나씩 셉니다. 이서연 님(9/22 화요일)이라면 9/23(수)이 첫 번째 영업일입니다.
2단계: 일수 2 — 토·일과 공휴일은 건너뛰며 세기
9/24(목)·9/25(금)은 공휴일표에 있어서 건너뛰고, 9/26(토)·9/27(일)은 주말이라 건너뜁니다. 그래서 두 번째 영업일은 9/28(월)입니다.
| 날짜 | 요일 | 판단 | 센 영업일 |
|---|---|---|---|
| 9/22 | 화 | 시작일(세지 않음) | - |
| 9/23 | 수 | 영업일 | 1 |
| 9/24 | 목 | 공휴일표에 있음 | - |
| 9/25 | 금 | 공휴일표에 있음 | - |
| 9/26 | 토 | 주말 | - |
| 9/27 | 일 | 주말 | - |
| 9/28 | 월 | 영업일 | 2 → 결과 |
일수에 음수를 넣으면 거꾸로 셉니다. =WORKDAY(DATE(2026,9,28), -2, $G$2:$G$8)는 9/22(화)를 돌려줍니다. "마감 2영업일 전까지 서류 요청"처럼 역산할 때 씁니다. 일수에 소수가 들어가면 소수점 아래는 버려집니다.
3단계: 공휴일 $G$2:$G$8 — 빼야 할 날 목록
세 번째 인수는 주말 말고도 추가로 뺄 날짜 목록입니다. 생략하면 토·일만 뺍니다. 채우기 핸들로 아래로 끌어도 목록이 밀리지 않도록 $로 고정합니다.
함께 쓰는 NETWORKDAYS — 영업일이 며칠인가
이번에는 날짜가 아니라 일수를 셉니다. 10월 한 달의 영업일 수는 다음과 같습니다.
=NETWORKDAYS(DATE(2026,10,1), DATE(2026,10,31), $G$2:$G$8)
| 수식 | 결과 |
|---|---|
| 10월, 공휴일표 반영 | 20 |
| 10월, 공휴일표 없이 | 22 |
| 9월, 공휴일표 반영 | 20 |
10월은 평일이 22일인데, 평일에 낀 공휴일 10/5(대체공휴일)와 10/9(한글날)가 빠져 20일이 됩니다.
자주 막히는 곳
WORKDAY와 NETWORKDAYS는 세는 방식이 다릅니다. 김민준 님의 신청일 9/21과 연락일 9/23으로 =NETWORKDAYS(B2, C2, $G$2:$G$8)를 계산하면 2가 아니라 3이 나옵니다. NETWORKDAYS는 시작일과 종료일을 둘 다 세고, WORKDAY는 시작일을 세지 않기 때문입니다. Microsoft 문서의 예제(2012-10-01~2013-03-01 = 110일)도 양 끝을 모두 세야 나오는 값입니다. "며칠 걸렸나"를 셀 때는 필요하면 1을 빼십시오.
공휴일표의 날짜가 글자로 들어가 있으면 빠지지 않습니다. Microsoft 문서도 날짜는 DATE 함수 등으로 넣어야 문제가 없다고 안내합니다. G열 날짜가 왼쪽 정렬되어 있다면 글자일 가능성이 큽니다. 또 월력요항은 발표 시점 기준이라, 나중에 임시공휴일이 지정되면 그날을 G열에 직접 추가하고 범위를 늘려야 합니다.
- #VALUE! 오류 — 시작일이나 종료일이 올바른 날짜가 아니면 이 오류가 납니다. 신청일 칸이 비어 있는 행에서도 엉뚱한 날짜가 나올 수 있으니
=IF(B2="","",WORKDAY(B2,2,$G$2:$G$8))처럼 감싸 두면 깔끔합니다. - 공휴일 범위를 표로 관리하고 싶을 때 — 해가 바뀌면 G열 아래에 새 공휴일을 이어 적고, 수식의 범위(
$G$2:$G$8)도 그 끝까지 늘려 줍니다.
다른 방법 — 토요일도 일하는 경우 WORKDAY.INTL
토요일에도 영업한다면 쉬는 날을 직접 정할 수 있는 WORKDAY.INTL을 씁니다. 세 번째 인수가 주말 번호입니다.
=WORKDAY.INTL(B2, 2, 11, $G$2:$G$8)
| 주말 번호 | 쉬는 날 |
|---|---|
| 1 또는 생략 | 토요일, 일요일 |
| 11 | 일요일만 |
| 17 | 토요일만 |
| "0000011" | 월~일 순서로 1이 쉬는 날(이 예는 토·일) |
11(일요일만 쉼)로 계산하면 강하은 님(10/8 목)의 연락일이 10/13(화)에서 10/12(월)로 당겨집니다. 10/9(한글날)는 빼고 10/10(토)을 영업일로 세기 때문입니다. 두 영업일 사이 일수를 셀 때는 같은 방식의 NETWORKDAYS.INTL이 있습니다.
| 함수 | 돌려주는 것 | 시작일 셈 | 주말 지정 |
|---|---|---|---|
| WORKDAY | 날짜 | 세지 않음 | 토·일 고정 |
| NETWORKDAYS | 일수 | 시작일·종료일 모두 셈 | 토·일 고정 |
| WORKDAY.INTL | 날짜 | 세지 않음 | 번호나 7자리 글자로 지정 |
자주 묻는 질문
공휴일을 엑셀이 알아서 빼 주지는 않나요?
아닙니다. WORKDAY와 NETWORKDAYS는 토·일만 자동으로 뺍니다. 공휴일은 날짜 목록을 직접 만들어 세 번째 인수로 넣어야 합니다. 목록은 우주항공청의 월력요항 발표나 달력에서 확인해 적으십시오.
영업일 2일 "이내"라면 어떤 날까지인가요?
WORKDAY(신청일,2,공휴일표)가 돌려준 날이 마지막 날입니다. 신청일 다음 영업일부터 그날까지가 기한 안에 들어갑니다.
결과가 날짜가 아니라 숫자로 나옵니다.
엑셀은 날짜를 1900년 1월 1일을 1로 하는 일련번호로 저장합니다. 결과 칸의 표시 형식을 날짜로 바꾸면 2026-09-28처럼 보입니다.
댓글
댓글 남기기