엑셀 근무일수 계산 방법 (NETWORKDAYS)

엑셀에서 직원의 근무기간이나 프로젝트 작업기간을 관리하다 보면 단순히 두 날짜 사이의 일수만 계산해서는 안 되는 경우가 있습니다.

예를 들어 월요일부터 금요일까지만 근무하는 회사라면 토요일과 일요일을 제외한 실제 근무일수를 계산해야 합니다. 여기에 공휴일까지 제외하려면 날짜를 하나씩 확인하기보다 엑셀 함수를 이용하는 것이 훨씬 편리합니다.

이럴 때 사용할 수 있는 대표적인 함수가 NETWORKDAYS 함수입니다.

이번 글에서는 엑셀에서 근무일수를 계산하는 기본적인 방법부터 주말 제외, 공휴일 제외, 오늘까지의 근무일수 계산 방법까지 알아보겠습니다.


엑셀 근무일수 계산에 사용하는 NETWORKDAYS 함수

NETWORKDAYS 함수는 두 날짜 사이에서 토요일과 일요일을 제외한 평일의 개수를 계산하는 함수입니다.

기본적인 사용 방법은 다음과 같습니다.

=NETWORKDAYS(시작일,종료일)

예를 들어

  • A2 : 입사일
  • B2 : 퇴사일

이 입력되어 있다면 다음과 같이 사용할 수 있습니다.

=NETWORKDAYS(A2,B2)

이렇게 하면 A2의 시작일부터 B2의 종료일까지 토요일과 일요일을 제외한 근무일수가 계산됩니다.


NETWORKDAYS 함수로 주말 제외하기

예를 들어 다음과 같은 데이터가 있다고 가정해 보겠습니다.

입사일퇴사일근무일수
2026-08-032026-08-1410

C2 셀에 다음 수식을 입력합니다.

=NETWORKDAYS(A2,B2)

그러면 토요일과 일요일을 제외한 평일만 계산됩니다.

NETWORKDAYS 함수에서 알아둘 점은 시작일과 종료일도 계산 범위에 포함한다는 것입니다.

따라서 시작일과 종료일이 모두 평일이라면 두 날짜 역시 각각 하루로 계산됩니다.

단순한 날짜 차이를 구하는

=B2-A2

와는 계산 기준이 다르므로 주의해야 합니다.


주말과 공휴일까지 제외하는 방법

실제 회사의 근무일수를 계산하려면 토요일과 일요일뿐 아니라 공휴일까지 제외해야 하는 경우가 많습니다.

NETWORKDAYS 함수는 제외할 공휴일을 추가로 지정할 수 있습니다.

사용 방법은 다음과 같습니다.

=NETWORKDAYS(시작일,종료일,공휴일범위)

예를 들어

  • A2 : 입사일
  • B2 : 퇴사일
  • E2:E20 : 공휴일 목록

이라면 다음 수식을 사용할 수 있습니다.

=NETWORKDAYS(A2,B2,E2:E20)

이렇게 하면 토요일과 일요일을 기본적으로 제외하고, E2:E20에 입력된 날짜도 추가로 제외하여 실제 근무일수를 계산합니다.


공휴일 목록은 어떻게 입력할까?

공휴일은 별도의 영역에 날짜 형식으로 입력하면 됩니다.

예를 들어 다음과 같이 구성할 수 있습니다.

E열
공휴일
2026-01-01
2026-03-02
2026-05-05
2026-08-17
2026-10-05

그다음 근무일수 계산식에서 해당 범위를 지정합니다.

=NETWORKDAYS(A2,B2,$E$2:$E$20)

여기서 $ 기호를 사용하는 이유는 수식을 아래쪽으로 복사하더라도 공휴일 범위가 변경되지 않도록 절대참조로 고정하기 위해서입니다.

직원 여러 명의 근무일수를 계산해야 한다면 공휴일 범위를 절대참조로 지정해 두는 것이 편리합니다.


입사일부터 오늘까지 근무일수 계산하기

현재 재직 중인 직원은 퇴사일이 없기 때문에 종료일 대신 TODAY 함수를 사용할 수 있습니다.

A2 셀에 입사일이 있다면 다음과 같이 입력합니다.

=NETWORKDAYS(A2,TODAY())

이 수식은 입사일부터 오늘까지 토요일과 일요일을 제외한 근무일수를 자동으로 계산합니다.

공휴일까지 제외하려면 다음과 같이 작성합니다.

=NETWORKDAYS(A2,TODAY(),$E$2:$E$20)

TODAY 함수는 오늘 날짜를 자동으로 반환하므로 날짜가 변경되면 근무일수 역시 자동으로 갱신됩니다.


퇴사일이 없으면 오늘까지 자동 계산하기

직원 관리표에서는 재직자와 퇴사자가 함께 있는 경우가 많습니다.

예를 들어

  • A열 : 입사일
  • B열 : 퇴사일
  • C열 : 근무일수

라고 가정해 보겠습니다.

퇴사한 직원은 B열에 퇴사일이 있지만 현재 재직 중인 직원은 B열이 비어 있을 수 있습니다.

이 경우 IF 함수를 함께 사용하면 됩니다.

=NETWORKDAYS(A2,IF(B2="",TODAY(),B2))

이 수식은 B2가 비어 있다면 오늘 날짜까지 계산하고, B2에 퇴사일이 입력되어 있다면 해당 날짜까지만 계산합니다.

공휴일까지 제외하려면 다음과 같이 사용할 수 있습니다.

=NETWORKDAYS(A2,IF(B2="",TODAY(),B2),$E$2:$E$20)

직원 근태관리표를 만들 때 활용도가 높은 방식입니다.


토요일이 근무일이라면 어떻게 계산할까?

NETWORKDAYS 함수는 기본적으로 토요일과 일요일을 주말로 판단합니다.

하지만 회사에 따라 토요일에도 근무하거나 주말이 다른 경우가 있습니다.

이럴 때는 NETWORKDAYS.INTL 함수를 사용하면 됩니다.

기본 구조는 다음과 같습니다.

=NETWORKDAYS.INTL(시작일,종료일,주말옵션,공휴일)

예를 들어 일요일만 휴무이고 월요일부터 토요일까지 근무한다면 다음과 같이 사용할 수 있습니다.

=NETWORKDAYS.INTL(A2,B2,11)

여기서 11은 일요일만 주말로 지정하는 옵션입니다.

공휴일 범위까지 적용한다면 다음과 같습니다.

=NETWORKDAYS.INTL(A2,B2,11,$E$2:$E$20)

따라서 일반적인 월~금 근무제가 아닌 사업장에서는 NETWORKDAYS.INTL 함수를 활용하는 것이 좋습니다.


NETWORKDAYS.INTL 주요 주말 옵션

NETWORKDAYS.INTL 함수에는 근무 형태에 따라 다양한 주말 옵션을 지정할 수 있습니다.

대표적인 옵션은 다음과 같습니다.

옵션주말
1토요일, 일요일
2일요일, 월요일
7금요일, 토요일
11일요일만
16금요일만
17토요일만

일반적인 주 5일제 회사라면 NETWORKDAYS 함수를 사용하면 되지만, 교대근무나 토요일 근무가 있는 경우에는 NETWORKDAYS.INTL 함수가 더 유용합니다.


특정 요일을 직접 지정하는 방법

NETWORKDAYS.INTL 함수에서는 숫자 옵션 외에도 7자리 문자열을 이용하여 휴무일을 직접 지정할 수 있습니다.

요일은 다음 순서입니다.

월 → 화 → 수 → 목 → 금 → 토 → 일

여기에서

  • 0 : 근무일
  • 1 : 휴무일

을 의미합니다.

예를 들어 토요일과 일요일이 휴무라면

"0000011"

이 됩니다.

따라서 다음과 같이 사용할 수 있습니다.

=NETWORKDAYS.INTL(A2,B2,"0000011",$E$2:$E$20)

일요일만 휴무라면

"0000001"

을 사용할 수 있습니다.

회사마다 휴무일이 특수하게 지정되어 있다면 이 방법으로 더욱 세밀하게 근무일수를 계산할 수 있습니다.


단순 일수와 근무일수는 무엇이 다를까?

엑셀에서 날짜를 계산할 때 일수와 근무일수의 차이를 이해하는 것이 중요합니다.

예를 들어 다음 수식은

=B2-A2

시작일과 종료일 사이의 단순한 날짜 차이를 계산합니다.

반면

=NETWORKDAYS(A2,B2)

는 토요일과 일요일을 제외한 평일을 계산합니다.

따라서 같은 시작일과 종료일을 사용하더라도 결과가 서로 다르게 나오는 것이 정상입니다.

계약기간이나 숙박기간처럼 달력상의 기간을 계산한다면 날짜 빼기를 사용하고, 직원의 실제 근무일이나 프로젝트 업무일을 계산한다면 NETWORKDAYS 함수를 사용하는 것이 적합합니다.

두 날짜 사이의 일반적인 일수 계산 방법은 「엑셀 두 날짜 사이 일수 계산 방법」 글에서 자세히 확인할 수 있습니다.


근무일수가 이상하게 계산될 때 확인할 사항

NETWORKDAYS 함수를 사용했는데 예상한 결과와 다르다면 몇 가지 사항을 확인해볼 필요가 있습니다.

먼저 시작일과 종료일이 실제 엑셀 날짜 값으로 입력되어 있는지 확인합니다.

화면에서는 날짜처럼 보이더라도 텍스트로 입력되어 있다면 정상적인 날짜 계산이 되지 않을 수 있습니다.

또한 공휴일을 제외하도록 설정했다면 공휴일 목록의 날짜도 실제 날짜 형식으로 입력되어 있어야 합니다.

마지막으로 NETWORKDAYS 함수는 시작일과 종료일을 모두 포함한다는 점도 확인해야 합니다.


엑셀 근무일수 계산 수식 총정리

상황에 따라 다음 수식을 활용하면 됩니다.

원하는 계산수식
주말 제외 근무일수=NETWORKDAYS(A2,B2)
주말·공휴일 제외=NETWORKDAYS(A2,B2,$E$2:$E$20)
입사일부터 오늘까지=NETWORKDAYS(A2,TODAY())
오늘까지 + 공휴일 제외=NETWORKDAYS(A2,TODAY(),$E$2:$E$20)
퇴사일 없으면 오늘까지=NETWORKDAYS(A2,IF(B2="",TODAY(),B2))
일요일만 휴무=NETWORKDAYS.INTL(A2,B2,11)
직접 휴무 요일 지정=NETWORKDAYS.INTL(A2,B2,"0000011",$E$2:$E$20)

가장 일반적인 월요일부터 금요일까지 근무하는 회사라면 NETWORKDAYS 함수만 알아두어도 대부분의 근무일수 계산을 해결할 수 있습니다.


마무리

엑셀에서 근무일수를 계산할 때 가장 유용한 함수는 NETWORKDAYS입니다.

기본적인 수식은

=NETWORKDAYS(A2,B2)

이며, 이 수식만으로 시작일부터 종료일까지 토요일과 일요일을 제외한 근무일수를 계산할 수 있습니다.

공휴일까지 제외해야 한다면

=NETWORKDAYS(A2,B2,$E$2:$E$20)

처럼 공휴일 목록을 추가하면 됩니다.

또한 회사의 휴무일이 일반적인 토·일요일과 다르다면 NETWORKDAYS.INTL 함수를 이용해 원하는 요일을 휴무일로 지정할 수 있습니다.

직원 근태관리, 프로젝트 일정, 업무기간 등을 엑셀로 관리하고 있다면 NETWORKDAYS와 NETWORKDAYS.INTL 함수를 함께 알아두면 날짜를 직접 세는 번거로움을 크게 줄일 수 있습니다.

“엑셀 근무일수 계산 방법 (NETWORKDAYS)”에 대한 1개의 생각

댓글 남기기