근무일수 계산을 위한 엑셀 함수 소개 (NETWORKDAYS, NETWORKDAYS.INTL)

포스트 목차

01. 근무일 계산

02. NETWORKDAYS 함수

03. NWORKDAYS.INTL 함수

본 포스트에서는 시작일과 종료일이 주어진 상황에서 엑셀의 특정 함수를 이용하여 근무일수를 구하는 방법에 대해 다룬다.

01. 근무일 계산

근무일자를 계산하기 위해서는 근무일로 취급될 수 없는 날에 대한 고려가 필요하다. 근무일이 아닌 날은 주말과 공휴일로 구분하는 것이 가능하다.

(주말에 대한 고려)

두 날짜 사이의 근무일을 구하는 상황을 가정해보자.

위의 그림처럼 달력이 있을 때, 9월1일에서 9월 5일사이에 있는 근무일수는 3일이다. 근무일은 9월1일, 9월4일, 9월 5일.. 중간에 있는 9월2일 (토요일) , 9월3일 (일요일)을 제외하면 근무일수는 3일이다.

(공휴일에 대한 고려)

9월 27일에서 10월5일 사이의 근무일수는 3일이다. 기본적으로 근무일에서 제외되는 토요일/일요일 외에 추석과 임시공휴일, 개천절까지 근무일에서 제외되기 때문이다.

근무일 계산에서 고려해야 할 위의 요소들을 고려해서, 엑셀에서 제공하는 NETWORKDAY 함수와 NETWORKDAY.INTL 함수에 대해 알아보자.

02. NETWORKDAYS 함수

(1) 함수의 목적 및 동작

NETWORKDAY 함수는 시작일과 종료일을 포함하여, 그 사이에 있는 근무일 수를 반환한다.

(2) 함수의 인수

함수의 인수는 다음과 같다.

  • Start_date: 특정일 (시작날짜)
  • End_date: 특정일 (종료날짜)
  • Holidays: 휴일 리스트

(3) 사용 예시

NETWORKDAY 함수를 이용하여 위의 달력을 기준으로 9월 27일에서 9월 29일 사이에 며칠의 근무일이 있는 지 구해보자.

  • 공휴일을 고려하지 않은 경우

먼저 공휴일을 고려하지 않은 경우에 대해 다룬다.

위의 그림처럼 다음과 같은 수식을 이용하여 9월 27일에서 9월 29일 사이의 근무일을 구할 수 있다.

=NETWORKDAYS(A1, A2)

공휴일인 추석을 고려하지 않은 경우에 27일부터 29일 사이에 있는 모든 날짜가 근무일이 되므로 3일이 반환된다.

  • 공휴일을 고려한 경우

다음은 공휴일을 고려한 경우에 대해서 다룬다.

공휴일은 아래의 그림처럼 Range로 입력해둘 수 있다.

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

위의 그림에서 27일에서 29일 사이에 공휴일을 고려한 근무일은 27일 뿐이므로 1이 반환된다.

(4) NETWORKDAYS 함수의 한계

NETWORKDAY 함수는 토요일과 일요일을 휴일로 가정하고 있으며, 해당 값은 변경이 불가능하다. 고용형태에 따라 토요일 일요일에 근무를 하고, 주중에 쉬는 근무자의 경우 NETWORKDAY 함수를 사용하기에는 어려움이 있을 것이다. 이 문제점을 해결하기 위해 사용할 수 있는 NETWORKDAY .INTL 함수에 대해 알아보자.

03. NETWORKDAYS.INTL 함수

WORKDAY.INTL 함수는 WORKDAY 함수와 거의 동일하게 동작한다. 차이점은 주말에 대한 정보를 사용자가 정할 수 있다는 점이다.

(1) 함수의 목적 및 동작

NETWORKDAYS.INTL 함수는 시작일과 종료일을 포함하여, 그 사이에 포함되어 있는 근무일을 반환한다. 계산과정에서 주말(주기적 휴일)에 대한 정보를 사용자가 설정할 수 있다.

(2) 함수의 인수

함수의 인수는 다음과 같다.

  • Start_date: 특정 일(시작 날짜)
  • End_date: 특정 일(종료 날짜)
  • Weekend: 주말을 나타내는 숫자 또는 문자열
  • Holidays: 휴일 리스트

Weekend는 다음과 같은 데이터가 들어갈 수 있다.

Weekend 값의미
1토요일, 일요일
2일요일, 월요일
3월요일, 화요일
4화요일, 수요일
5수요일, 목요일
6목요일, 금요일
7금요일, 토요일
11일요일만
12월요일만
13화요일만
14수요일만
15목요일만
16금요일만
17토요일만

(3) 사용 예시

NETWORKDAYS.INTL 함수를 이용하여 위의 달력을 기준으로 10월 5일에서 10월 20일 사이의 근무일수를 구해보자.

  • 주말이 토요일/일요일인 경우

먼저 일반적으로 토요일/일요일에 휴무를 하는 경우에 대해 다룬다.

위의 그림처럼 다음 수식을 입력하여 10월 5일에서 10월 20일 사이의 근무일수를 구할 수 있다.

=NETWORKDAYS.INTL(B1, D1, 1, B4:B8)

위의 그림처럼 10월7일, 10월 8일, 10월 9일, 10월 14일, 15일을 제외한 11일이 근무일수라는 것을 알 수 있다.

  • 토요일/일요일 근무를 하고 수요일만 쉬는 경우

다음은 토요일/일요일 근무를 하고 수요일만 쉬는 경우에 대해 다룬다.

위의 그림처럼 다음 수식을 입력하여 10월 5일에서 10월 20일 사이의 근무일을 구할 수 있다. 다만 이 상황에서는 토요일 일요일에 근무를 하고 수요일에 쉰다.

=NETWORKDAYS.INTL(B1, D1, 14, $B$4:$B$8)

함수의 세번째 인자로 1(토요일, 일요일) 대신 14(수요일만)을 넣었다.

위의 그림처럼 10월9일, 10월 11일, 10월 18일을 제외하여 13일이 계산된다.

같이 보면 도움이 되는 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다