엑셀함수 NETWORKDAYS, NETWORKDAYS.INTL – 날짜사이의 작업 일수 구하기

공개됨 글쓴이 Admin댓글 3개

엑셀함수 NETWORKDAYS의 이름을 풀이해 보면 NET WORK DAYS이다. 우리말로 해석해 보면 “순 작업 일수”이다. 전체 작업기간에서 주말이나 휴무일을 뺀 작업일수를 구해주는 함수라는 뜻을 잘 표현하는 함수이름이다.

이 함수를 이용하면 시작일과 종료일 사이의 작업기간을 편리하게 구하고, 작업일수에 일당을 곱하여 급여계산과 같은 업무를 할 수 있다.

NETWORKDAYS.INTL함수는 NETWORKDAYS함수와 거의 동일하나 세번째 인수로 토/일요일 이외의 날짜를 휴무일로 지정할 수 있다.

아래의 실습용 엑셀파일을 다운로드한 후 따라해 보자.

1) NETWORKDAYS

구문(Syntax)
NETWORKDAYS(start_date, end_date, [holidays])

start_date : 시작일
end_date : 종료일
holidays : 생략가능하며 토요일,일요일을 제외한 날짜를 휴무일로 지정할 경우에 사용하며 셀범위 또는 날짜의 배열상수를 선택할 수 있음

 

사용예 :

토요일,일요일만 근무일에서 제외하고 일정기간 동안의 작업일수 구하기

다음 그림과 같이 2018년 1월 1일부터 1월 31일까지 토/일요일을 제외한 작업일수를 구한다고 가정해 보자.

다음 그림과 같이 =NETWORKDAYS(B4,C4)를 입력해 보자. B4는 시작일, C4는 종료일이다. 2018-01-01부터 2018-01-31까지 토/일요일을 제외한 작업일수를 구해준다.

 

토요일,일요일 및 지정된 휴무일을 제외하고 일정기간 동안의 작업일수 구하기

NETWORKDAYS함수에서 세번째 인수인 holiday를 사용하면 토요일, 일요일 이외의 날짜도 근무일에서 제외하고 일정기간 동안의 작업일수를 구할 수 있다. 다음 그림과 같이 특정 휴무일을 기입하고 셀 범위를 선택하면 된다(B12:B13).

2018-01-01부터 2018-01-31까지 토/일요일 및 휴무일로 지정된 이틀(2018-01-02, 2018-01-03)을 제외한 작업일수는 21일이 구해진다.

 

2) NETWORKDAYS.INTL

NETWORKDAYS.INTL은 NETWORKDAYS함수와 거의 동일한 기능을 하는 함수인데 주말을 임의로 설정할 수 있는 인수가 하나 더 있다.
이 인수를 사용하면 NETWORKDAYS함수보다 훨씬 강력한 기능을 맛볼 수 있다.

구문(Syntax)
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

start_date : 시작일
end_date : 종료일
weekend : 생략가능, 토요일/일요일 이외의 날짜도 주말로 지정할 수 있다. 아래와 같이 주말을 임의로 설정할 수 있다.

이 방법 외에 문자열 7자리를 이용하는 방법도 있다. 아래의 “사용예”에서 별도로 설명한다.

  • 1 또는 생략 – 토요일, 일요일
  • 2 – 일요일, 월요일
  • 3 – 월요일, 화요일
  • 4 – 화요일, 수요일
  • 5 – 수요일, 목요일
  • 6 – 목요일, 금요일
  • 7 – 금요일, 토요일
  • 11 – 일요일만
  • 12 – 월요일만
  • 13 – 화요일만
  • 14 – 수요일만
  • 15 – 목요일만
  • 16 – 금요일만
  • 17 – 토요일만

holidays : 생략가능하며 토요일,일요일을 제외한 날짜로 휴무일로 지정할 경우에 사용하며 셀범위 또는 날짜의 배열상수를 선택할 수 있음

사용예 :

세번째 인수인 주말인수를 숫자로 입력한 경우 

다음 그림과 같이 함수 마법사에 나오는 대로 원하는 주말유형을 선택하면 된다.
=NETWORKDAYS(B4,C4,3) 을 입력한다. 

위와 같이 입력하면 다음의 달력에 보이는 대로 매주 월/화요일은 주말로 인식해서 근무일에서 제외하고 2018-01-01부터 2018-01-31까지의 작업일수 21일을 구해준다.

 

세번째 인수인 주말인수를 문자열로 입력한 경우 

문자열 인수는 함수 마법사에도 설명이 나오지 않는다. 이 인수를 이용해서 원하는대로 주말을 설정할 수 있다. NETWORKDAYS.INTL 함수의 진정한 가치는 이 인수에 있다고 할 수 있다.
“E15″셀에 =NETWORKDAYS.INTL(B15,C15,”0101011″)을 입력해 보자. 마지막 인수인 “0101011”은 다음 그림과 같이 7자리로 구성되며 각 자리의 값이 0이면 평일, 1이면 주말이므로 이 그림은 “월/수/금”을 평일로 계산하고 화/목/토/일를 주말로 계산하는 경우이다.
*주의 : 반드시 값의 앞 뒤로 쌍따옴표를 붙여야 문자열로 인식된다.

위와 같이 입력하면 다음과 같이 2018-01-01부터 2018-01-31까지 매주 화/목/토/일은 제외한 작업일수 14일이 구해진다

 

세번째 인수인 주말인수를 문자열로 입력 – 응용하기

다음 그림과 같이 CASE별 작업일수 계산에 응용해 보자. 다양한 방법으로 주말 유형을 구성할 수 있다. 생산현장 등에서 특정요일만 작업을 한다고 했을 때 일정기간 동안의 작업일수가 얼마나 되는 지 확인할 때 사용하면 유용하다.

작업일수는 다음과 같이 구한다.
M열에 =NETWORKDAYS.INTL(K3,L3,J3,$P$3:$P$5)을 입력한다. 세번째 인수인 주말인수는 J3셀의 값을 참조하고 J3셀의 값은 각 요일별로 입력된 값을 참조하며 다음 수식으로 구한다.
=IF(C3>””,”0″,”1″)&IF(D3>””,”0″,”1″)&IF(E3>””,”0″,”1″)&IF(F3>””,”0″,”1″)&IF(G3>””,”0″,”1″)&IF(H3>””,”0″,”1″)&IF(I3>””,”0″,”1″)

 

이것으로 NETWORKDAYS, NETWORKDAYS.INTL 함수에 대한 설명을 마친다. 이 함수는 WORKDAY함수와 이름도 비슷하고 인수도 비슷하다. WORKDAY함수는 일정기간 후의 날짜는 구하는 함수이므로 혼동하지 않도록 하자.

날짜함수에 대한 기초지식이 필요하면 “엑셀에서 날짜와 관련된 수식과 함수 기초”글을 참고하면 된다.

[ 엑셀 날짜 및 시간 함수 ]

엑셀함수 NETWORKDAYS, NETWORKDAYS.INTL – 날짜사이의 작업 일수 구하기에 1개의 응답

  1. NETWORKDAYS.INTL의 주말인수 문자열 입력!!!
    6개월동안 찾다가 포기했었는데 정말 감사합니다.

댓글 남기기

이메일은 공개되지 않습니다.