메뉴
실무 위키응용 공식엑셀 날짜가 공휴일인지 주말인지 확인하는 공식

엑셀 날짜가 공휴일인지 주말인지 확인하는 공식

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

휴일 목록과 요일 기준을 함께 확인합니다.

엑셀 날짜가 공휴일인지 주말인지 확인하는 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01날짜를 근무일, 주말 또는 공휴일로 나누기

=IF ( COUNTIF ( 휴일 날짜 범위, 날짜 ) > 0, "공휴일", IF ( WEEKDAY ( 날짜, 2 ) >= 6, "주말", "근무일" ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
휴일 날짜 범위필수공휴일과 회사 휴무일을 날짜 값으로 모아 둔 범위입니다.
날짜필수근무일, 주말 또는 공휴일 가운데 하나로 구분할 날짜 셀입니다.
"공휴일"필수날짜가 휴일 목록에 있을 때 반환할 표시이며 이 공식에서는 이 값으로 고정입니다.
"주말"필수휴일 목록에는 없지만 토요일이나 일요일일 때 반환할 표시이며 이 공식에서는 이 값으로 고정입니다.
"근무일"필수휴일 목록과 주말 조건에 모두 해당하지 않을 때 반환할 표시이며 이 공식에서는 이 값으로 고정입니다.
C2=IF(COUNTIF($F$2:$F$4,A2)>0,"공휴일",IF(WEEKDAY(A2,2)>=6,"주말","근무일"))
A
B
C
D
E
F
G
H
1
날짜
요일
구분
휴일 이름
휴일 날짜
휴일 명칭
2
2024-05-05
공휴일
어린이날
2024-05-05
어린이날
3
2024-05-06
공휴일
대체공휴일
2024-05-06
대체공휴일
4
2024-05-07
근무일
2024-05-15
부처님오신날
5
2024-05-08
근무일
6
2024-05-09
근무일
7
2024-05-10
근무일
8
2024-05-11
주말
주말
9
휴일 목록에 있는 날짜를 먼저 공휴일로 표시하므로 일요일인 어린이날도 주말이 아닌 공휴일로 구분합니다. 휴일 이름 열은 목록에 없는 평일을 빈칸으로 남기고 주말에는 주말로 표시합니다.

02공휴일 이름과 주말 표시를 함께 가져오기

=IFERROR ( VLOOKUP ( 날짜, 휴일표, 2, 0 ), IF ( WEEKDAY ( 날짜, 2 ) >= 6, "주말", "" ) )
인수 설명 자세히 보기
인수구분설명
날짜필수휴일 이름이나 주말 표시를 가져올 날짜 셀입니다.
휴일표필수첫 번째 열에는 휴일 날짜, 두 번째 열에는 표시할 휴일 이름이 있는 표입니다. 날짜 열을 표의 맨 왼쪽에 둡니다.
"주말"필수휴일표에는 없지만 토요일이나 일요일일 때 반환할 표시이며 이 공식에서는 이 값으로 고정입니다.
D2=IFERROR(VLOOKUP(A2,$F$2:$G$4,2,0),IF(WEEKDAY(A2,2)>=6,"주말",""))
A
B
C
D
E
F
G
H
1
날짜
요일
구분
휴일 이름
휴일 날짜
휴일 명칭
2
2024-05-05
공휴일
어린이날
2024-05-05
어린이날
3
2024-05-06
공휴일
대체공휴일
2024-05-06
대체공휴일
4
2024-05-07
근무일
2024-05-15
부처님오신날
5
2024-05-08
근무일
6
2024-05-09
근무일
7
2024-05-10
근무일
8
2024-05-11
주말
주말
9
휴일 목록에 있는 날짜를 먼저 공휴일로 표시하므로 일요일인 어린이날도 주말이 아닌 공휴일로 구분합니다. 휴일 이름 열은 목록에 없는 평일을 빈칸으로 남기고 주말에는 주말로 표시합니다.

동작 원리

01날짜를 근무일, 주말 또는 공휴일로 나누기

COUNTIF 함수가 휴일 목록에서 날짜를 찾고, 목록에 없으면 WEEKDAY 함수와 IF 함수가 주말 여부를 확인합니다.

예제 시트에서 일요일인 어린이날을 판정하는 C2 셀을 추적합니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

휴일 목록에서 같은 날짜를 셉니다

COUNTIF 함수가 휴일 날짜 범위에서 2024-05-05를 찾습니다. 같은 날짜가 한 번 있으므로 결과값은 1입니다.

=COUNTIF ( $F$2:$F$4, A2 )
= 1
2

요일 번호를 확인합니다

WEEKDAY 함수의 두 번째 인수에 2를 넣으면 월요일부터 일요일까지 1부터 7로 반환합니다. 2024-05-05는 일요일이므로 결과값은 7입니다.

=WEEKDAY ( A2, 2 )
= 7
3

공휴일 표시를 먼저 선택합니다

휴일 목록에서 찾은 개수가 0보다 크므로 첫 번째 IF 함수가 공휴일을 반환합니다. 일요일 조건도 만족하지만 휴일 목록 판정을 먼저 하므로 결과는 공휴일입니다.

=IF ( 1 > 0, "공휴일", IF ( 7 >= 6, "주말", "근무일" ) )
= 공휴일

02공휴일 이름과 주말 표시를 함께 가져오기

VLOOKUP 함수로 휴일 이름을 찾고, 찾는 날짜가 없으면 IFERROR 함수와 WEEKDAY 함수가 주말만 표시합니다.

예제 시트에서 휴일 이름을 찾는 D2 셀과 주말 표시로 바뀌는 D8 셀을 추적합니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

휴일표에서 날짜와 같은 행을 찾습니다

VLOOKUP 함수가 휴일표의 첫 번째 열에서 2024-05-05를 찾아 같은 행의 두 번째 값인 어린이날을 반환합니다.

=VLOOKUP ( A2, $F$2:$G$4, 2, 0 )
= 어린이날
2

휴일표에 없는 날짜를 확인합니다

2024-05-11은 휴일표에 없으므로 VLOOKUP 함수가 일치하는 이름을 찾지 못한 오류를 반환합니다.

=VLOOKUP ( A8, $F$2:$G$4, 2, 0 )
= #N/A
3

목록에 없으면 주말인지 확인합니다

2024-05-11은 토요일이므로 WEEKDAY 함수의 결과값 6이 주말 조건을 만족하고 주말을 반환합니다.

=IF ( WEEKDAY ( A8, 2 ) >= 6, "주말", "" )
= 주말
4

오류 대신 주말 표시를 남깁니다

IFERROR 함수가 휴일 이름을 찾지 못한 오류 대신 주말 판정 결과를 선택하므로 D8 셀에는 주말이 남습니다.

=IFERROR ( #N/A, "주말" )
= 주말
댓글 0
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
스크랩 완료