오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 공휴일 휴일 수 다르게 계산 공식 :: 엑셀 함수 공식

특정 요일 또는 공휴일마다 휴일 수를 다르게 계산하는 공식의 사용법과 동작원리를 살펴봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 11. 11. 22:08
URL 복사
메모 남기기 : (8)

엑셀 공휴일 휴일 수 다르게 계산 공식

엑셀 공휴일 휴일 수 다르게 계산 목차 바로가기
함수 공식
{ =SUM(IF(WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=7,일요일휴일수,IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,1))) + 1 }
'본 수식은 배열수식이므로 M365 이전버전 사용자는 Ctrl + Shift + Enter로 입력해야 합니다.
인수 설명
인수 설명
시작일 휴일 수를 계산하기 위한 날짜 범위의 시작일입니다.
종료일 휴일 수를 계산하기 위한 날짜 범위의 종료일입니다.
일효일휴일수 일요일일 경우 적용할 휴일 수 입니다.
'=7을 각 요일 번호로 바꾸면 특정 요일의 휴일수로 적용할 수 있습니다.
1 : 월요일 / 2 : 화요일 / 3 : 수요일 / 4 : 목요일
5 : 금요일 / 6 : 토요일 / 7 : 일요일
공휴일휴일수 공휴일일 경우 적용할 휴일 수 입니다.
공휴일범위 공휴일이 입력된 범위입니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 엑셀 특정요일 공휴일 휴일 수 다르게 계산 공식
    예제파일

호환성
운영체제 호환성
Windows 버전 모든 엑셀 버전에서 사용 가능합니다.
Mac 버전 모든 엑셀 버전에서 사용 가능합니다.
사용된 기초 함수

엑셀 공휴일 휴일 개수 다르게 계산 공식 알아보기

공식 설명

본 공식은 특정 요일 또는 공휴일마다 휴일 수를 다르게 계산하여 시작일~종료일 사이의 전체 요일수를 계산하는 엑셀 함수 공식입니다. 배열수식이므로 MS365 이전 버전 사용자Ctrl + Shift + Enter로 입력해야 합니다.

상황에 따라 일요일이 아닌 토요일인 경우의 휴일수를 다르게 계산하려면 공식의 =7 를 =6으로 변경하여 사용합니다.

{ =SUM(IF(WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=6,토요일휴일수,IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,1))) + 1 }

만약 공휴일의 경우만 휴일수를 다르게 계산하려면 아래 공식을 사용합니다.

{ =SUM(IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,1)) + 1 }

만약 평일은 제외하고 휴일의 개수만 세려면 IF 함수의 마지막 인수를 1에서 0으로 변경합니다.

{ =SUM(IF(WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=7,일요일휴일수,IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,0))) + 1 }
공식의 동작원리
  1. 시작일~종료일 사이의 날짜를 돌아가며, 해당 날짜가 공휴일인지 여부를 확인합니다.
    =COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0
  2. 시작일~종료일 사이의 날짜를 돌아가며, 해당 날짜가 특정 요일(예제 공식에서는 일요일)인지 여부를 확인합니다.
    =WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=7
  3. 시작일~종료일 사이의 날짜를 돌아가며, 해당 날짜가 특정 요일의 휴일수를, 공휴일이면 공휴일 휴일수를, 그렇지 않으면 1을 반환합니다. 
    =IF(WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=7,일요일휴일수,IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,1))
  4. 시작일~종료일 사이 요일수의 합계를 계산합니다.
    =SUM(IF(WEEKDAY(시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1,2)=7,일요일휴일수,IF(COUNTIF(공휴일범위,시작일+ROW(INDIRECT("A1:A"&종료일-시작일))-1)>0,공휴일휴일수,1)))
댓글 8
5 (5개 평가)
ywkoc
ywkoc 2021.02.14 14:00
짝짝짝..그저 놀랍고 신기합니다.. 늦은 나이에 머리가 지끈합니다만 오랫동안 생각해보니 어느정도 알듯합니다..나중에 기회가 되신다면 동영상강의로 원리강의 부탁드립니다 결과값이 이해가 되는것도 있고 잘 안되는 것도 있던데요 동영상강의로 부탁드립니다 매번 신선한 자극으로 뇌세포가 살아나는 느낌입니다. 고맙습니다
gosang****
gosang**** 2021.02.14 17:53
좋은 강의 감사드려요!!!
김종빈
김종빈 2021.02.16 07:30
유튜브에 나오던 공휴일 목록 파일 다운받을수있을까요?
오빠두엑셀
오빠두엑셀 작성자 2021.02.17 13:20
https://www.oppadu.com/%ec%97%91%ec%85%80-%ed%8f%89%ec%9d%bc-%ec%a3%bc%eb%a7%90-%ea%b3%b5%ed%9c%b4%ec%9d%bc-%ea%b5%ac%eb%b6%84/
위 링크를 참고해보세요.
안태한
안태한 2021.06.16 11:55
종료일은 계산에서 빠지는 건가요? 첫번째 데이터 보면 20일까지만 계산되는 것 같던데...
오빠두엑셀
오빠두엑셀 작성자 2021.06.21 20:48
안녕하세요.
공식 뒤에 +1 이 빠져있었네요 ..ㅜㅜ; 죄송합니다.
종료일이 포함되도록 공식을 수정해드렸으니 다시 확인해보시겠어요?
확인해주셔서 감사드립니다.
안태한
안태한 2021.06.22 09:53
고맙습니다 ^^;
강민준🤗
강민준🤗 2024.08.11 16:54
좋은 강의 감사합니다🙇‍♂️