엑셀 평일 & 주말 & 공휴일 구분하기
간단한 함수 공식을 활용한 평일, 주말, 그리고 공휴일이 낀 평일까지 한 번에 관리하는 방법!
엑셀에서 평일과 주말, 그리고 공휴일이 낀 휴일까지 자동으로 구분하는 방법을 정리한 강의입니다. TEXT 함수로 요일을 추출하고, COUNTIF·VLOOKUP 함수로 1949년부터 2200년까지의 공휴일 목록을 참조한 뒤, IF·OR 함수로 평일과 휴일을 한 번에 판정하는 흐름을 단계별로 살펴봅니다. 마지막으로 WORKDAY.INTL·NETWORKDAYS.INTL 함수로 작업일수까지 계산해 봅니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
실습 가이드
엑셀 TEXT 함수를 활용하면 날짜에서 요일을 손쉽게 추출할 수 있습니다.
=TEXT(2021-01-01,"aaaa") '"금요일" 을 출력합니다.
=TEXT(2021-01-01,"(aaa)") '"(금)" 을 출력합니다.
=TEXT(2021-01-01,"yyyy년 mm월 dd일 (aaa)") '"2021년 01월 01일 (금)" 을 출력합니다.
이 외에도 셀 서식을 변경하면 날짜를 다양한 형태로 출력할 수 있습니다. 셀 서식의 실전 예제는 아래 링크에 자세히 정리해두었습니다.
예제파일에 입력된 날짜의 요일 추출하기
- 예제파일의 [평일휴일구분] 시트로 이동한 뒤, C3셀에 아래 수식을 입력합니다.
=TEXT(B3,"AAA")

- 입력한 수식을 아래로 자동 채우기하면 날짜의 요일 추출이 완료됩니다.

엑셀에서 공휴일 관리는 날짜 관련 작업 가운데 수작업 비중이 가장 높은 업무입니다. 특히 여러 나라를 대상으로 공휴일을 관리할 경우, 국가마다 다른 공휴일을 일일이 입력해야 하므로 작업 부담이 커집니다. 또한 우리나라에서도 구정, 추석, 석가탄신일처럼 음력으로 계산되는 휴일은 매년 직접 갱신해야 한다는 어려움이 있습니다.
이번 강의에서는 1949년부터 2200년까지의 공휴일이 미리 입력된 공휴일 목록을 참조하여 공휴일 여부를 자동으로 판단하는 방법을 살펴봅니다.
- 예제파일의 [평일휴일구분] 시트로 이동한 뒤, D3셀에 아래 수식을 입력합니다. 수식의 동작 원리는 영상 강의 또는 COUNTIF 함수 사용방법 포스트를 참고하세요.

- 입력한 수식을 아래로 자동 채우기하면 날짜별 공휴일 여부 판정이 완료됩니다.

- 또는 VLOOKUP 함수를 활용하여 공휴일 여부를 판정할 수도 있습니다.
=IFERROR(VLOOKUP(B3,휴일목록!A:B,2,0),"")

요일과 공휴일 정보가 모두 준비되었으므로, 이제 공휴일을 반영한 평일과 휴일을 한 번에 구분할 수 있습니다.
- 예제파일의 [평일휴일구분] 시트로 이동한 뒤, E3셀에 아래 수식을 입력합니다.
=IF(D3="공휴일","휴일",IF(OR(C3="토",C3="일"),"휴일","평일"))

- 입력한 수식을 아래로 자동 채우기하면 공휴일을 반영한 평일/휴일 구분이 완료됩니다.

- 수식에 사용된 IF 함수와 OR 함수의 자세한 사용법은 아래 관련 링크를 참고하세요.
공휴일을 포함한 두 날짜 사이의 작업일수, 또는 특정 시작일부터 진행되는 작업의 종료일을 계산하려면 엑셀 2010 이후 버전에서 제공되는 WORKDAY.INTL 함수와 NETWORKDAYS.INTL 함수를 활용해 손쉽게 처리할 수 있습니다.
각 함수의 자세한 사용법은 아래 관련 링크를 참고하세요.
두 날짜 사이의 작업일수 계산
특정 날짜로부터 시작된 작업의 종료일 계산
자주묻는질문
질문1. 주말일 경우 글씨색을 파랑/빨강으로 변경하는 방법
조건부 서식을 활용하면 주말(토, 일)에 해당하는 글씨색을 파란색과 빨간색으로 자동 변경할 수 있습니다.
- 예제파일의 [평일휴일구분] 시트에서 C열 전체를 선택합니다.

- 리본 메뉴에서 [홈] - [조건부서식] - [새규칙]을 차례로 선택합니다.

- '수식을 사용하여 서식을 지정할 셀 결정' 항목을 선택한 뒤, 아래 수식을 입력합니다.
=C1="토"

- [서식]으로 이동하여 글꼴색을 파란색으로 변경한 뒤 확인을 누르면 토요일의 글씨색이 파란색으로 변경됩니다. 일요일의 조건부 서식도 동일한 방법으로 수식만 "일"로 바꿔 적용합니다.

- 조건부 서식의 보다 상세한 활용법은 엑셀 기초 입문 강의 - 조건부 서식의 모든 것 영상 강의를 참고하세요.
인터넷 익스플로러로 접속하실 경우 파일다운로드가 제한될 수 있습니다. 크롬이나 엣지로 접속하신 뒤에 다시 시도해보시겠어요?^^
감사합니다.
네 가능합니다.
공휴일 목록 시트를 추가하신 뒤, 해당 목록을 VLOOKUP 함수로 참조하는 방법으로 사용자함수를 작성해보세요.
IfError함수와 Vlookup 한수를 중첩해서 사용하니 값이 전체가 아무 표시도 되지 않아서
VBA에서는 한수를 중첩 사용할 수 없다는 의견도 있어서
어떻게 해야 하는지 답답 궁금 합니다
https://stackoverflow.com/questions/20998305/a-worksheet-function-inside-a-worksheet-function
위 링크를 참고해보세요.
셀을 우클릭 - 셀 서식에서 표시형식을 변경해보세요.
또는 셀 서식 기초입문강의를 참고해보세요.
https://www.oppadu.com/%EC%97%91%EC%85%80-%EC%85%80-%EC%84%9C%EC%8B%9D-%EC%B4%9D%EC%A0%95%EB%A6%AC/
다만 공휴일 목록에 한글날이 빠져있어요.
확인 되시면 업데이트 해주시면 감사하겠습니다.
한글날도 휴일 목록에 추가하였습니다.
확인해주셔서 감사합니다.