포스트 목차
04. WORKDAY 함수와 WORKDAY.INTL 함수 사용 시 주의 점
본 포스트에서는 시작일과 근무일수가 주어진 상황에서 엑셀의 특정 함수를 이용하여 근무 종료일을 구하는 방법에 대하여 다룬다.
01. 근무일 계산
근무일을 계산하기 위해서는 근무일이 아닌 날짜에 대해서 고려해야 한다. 근무일이 아닌 날은 크게 주말과 공휴일로 구분할 수 있다.
(토요일과 일요일 처리)
일을 시작한 날짜인 시작일로부터 n일 경과한 근무일을 구하는 상황을 가정해보자.


위의 그림처럼 달력이 있을 때, 9월1일에서 2일이 경과한 근무일자는 9월5일이다. 9월2일과 9월 3일은 각각각 토요일/일요일이기 때문에 근무일이 아니므로 9월 5일로 계산이 된다. 기본적으로 토요일/일요일은 근무일이 아닌것으로 판단할 수 있을 것이다.
(공휴일에 대한 고려)
이번에는 공휴일에 대해 알아보자. 9월 27일에서 2일이 경과한 근무일자는 10월 5일이 된다. 기본적으로 근무일에서 제외되는 토요일/일요일 외에 추석과 임시 공휴일, 개천절까지 근무일에서 제외해야 한다.
근무일 계산에서 고려해야 할 위의 요소들을 고려해서, 엑셀에서 제공하는 WORKDAY함수와 WORKDAY.INTL 함수에 대해 알아보자.
02. WORKDAY 함수
(1) 함수의 목적 및 동작
WORKDAY 함수는 시작일을 기준으로 n일 경과한 근무일을 반환한다.
(2) 함수의 인수는 다음과 같다.

- Start_date: 특정 일(시작 날짜)
- Days: 경과한 일 수
- Holidays: 휴일 리스트
(3) 사용 예시
WORKDAY 함수를 이용하여 위의 달력을 기준으로 9월 27일에서 2일 경과한 근무일을 구해보자.
- 공휴일을 고려하지 않은 경우
먼저 공휴일을 고려하지 않은 경우에 대해 다룬다.

위의 그림처럼 다음과 같은 수식을 이용하여 9월 27일에서 2일 경과한 근무일을 구할 수 있다.
=WORKDAY(B1, 2)


9월 27일에서 공휴일을 고려하지 않고 2일 후의 근무일인 9월 29일이 반환된다.
- 공휴일을 고려한 경우
다음은 공휴일을 고려한 경우에 대해서 다룬다.
공휴일은 아래의 그림처럼 Range로 입력해둘 수 있다.

WORKDAY 함수의 3번째 인수로 공휴일 리스트를 넘길 수 있다.

위의 그림처럼 추석과 임시공휴일 및 개천절을 제외하고 10월 5일이 반환되는 것을 확인할 수 있다.
(4) WORKDAY 함수의 한계
WORKDAY 함수는 토요일과 일요일을 휴일로 가정하고 있으며, 해당 값은 변경이 불가능하다. 고용형태에 따라 토요일 일요일에 근무를 하고, 주중에 쉬는 근무자의 경우 WORKDAY 함수를 사용하기에는 어려움이 있을 것이다. 이 문제점을 해결하기 위해 사용할 수 있는 WORKDAY.INTL 함수에 대해 알아보자.
03. WORKDAY.INTL 함수
WORKDAY.INTL 함수는 WORKDAY 함수와 거의 동일하게 동작한다. 차이점은 주말에 대한 정보를 사용자가 정할 수 있다는 점이다.
(1) 함수의 목적 및 동작
WORKDAY.INTL 함수는 시작일을 기준으로 n일 경과한 근무일을 반환한다. 계산과정에서 주말(주기적 휴일)에 대한 정보를 사용자가 설정할 수 있다.
(2) 함수의 인수는 다음과 같다.

- Start_date: 특정 일(시작 날짜)
- Days: 경과한 일 수
- Weekend: 주말을 나타내는 숫자 또는 문자열
- Holidays: 휴일 리스트
Weekend는 다음과 같은 데이터가 들어갈 수 있다.
Weekend 값 | 의미 |
1 | 토요일, 일요일 |
2 | 일요일, 월요일 |
3 | 월요일, 화요일 |
4 | 화요일, 수요일 |
5 | 수요일, 목요일 |
6 | 목요일, 금요일 |
7 | 금요일, 토요일 |
11 | 일요일만 |
12 | 월요일만 |
13 | 화요일만 |
14 | 수요일만 |
15 | 목요일만 |
16 | 금요일만 |
17 | 토요일만 |
(3) 사용 예시
WORKDAY.INTL 함수를 이용하여 위의 달력을 기준으로 10월 5일에서 10일 경과한 근무일을 구해보자.
- 주말이 토요일/일요일인 경우
먼저 일반적으로 토요일/일요일에 휴무를 하는 경우에 대해 다룬다.

위의 그림처럼 다음 수식을 입력하여 10월 5일에서 10일 경과한 근무일을 구할 수 있다.
=WORKDAY.INTL(B$1, 10, 1, $B$4:$B$8)

위의 그림처럼 10월7일, 10월 8일, 10월 9일, 10월 14일, 15일을 제외한 후 10일째인 10월 20일이 반환된다.
- 토요일/일요일 근무를 하고 수요일만 쉬는 경우
다음은 토요일/일요일 근무를 하고 수요일에만 쉬는 경우에 대해 다룬다.

위의 그림처럼 다음 수식을 입력하여 10월 5일에서 10일 경과한 근무일을 구할 수 있다.
=WORKDAY.INTL(B$1, 10, 14, $B$4:$B$8)
함수의 세번째 인자로 1(토요일, 일요일) 대신 14(수요일만)을 넣었다.

위의 그림처럼 10월9일, 10월 11일을 제외한 후 10일째인 10월 17일이 반환된다.
04. WORKDAY 함수와 WORKDAY.INTL 함수 사용 시 주의점
위의 두 함수는 기본적으로 날짜를 반환한다. 따라서 셀의 표기형식이 일반인 경우에 다음과 같이 숫자로 표기될 수 있다.

이런 경우에는 셀의 표기 형식을 날짜로 변경해주면 원하는 결과를 얻을 수 있다.

2 thoughts on “엑셀을 이용하여 근무일수 계산하기 (워킹데이 계산)”