엑셀 날짜가 공휴일인지 주말인지 확인하는 공식
지원 버전 자세히 보기
휴일 목록과 요일 기준을 함께 확인합니다.
인수 설명
01날짜를 근무일, 주말 또는 공휴일로 나누기
=IF ( COUNTIF ( 휴일 날짜 범위, 날짜 ) > 0, "공휴일", IF ( WEEKDAY ( 날짜, 2 ) >= 6, "주말", "근무일" ) )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
02공휴일 이름과 주말 표시를 함께 가져오기
=IFERROR ( VLOOKUP ( 날짜, 휴일표, 2, 0 ), IF ( WEEKDAY ( 날짜, 2 ) >= 6, "주말", "" ) )인수 설명 자세히 보기
동작 원리
01날짜를 근무일, 주말 또는 공휴일로 나누기
COUNTIF 함수가 휴일 목록에서 날짜를 찾고, 목록에 없으면 WEEKDAY 함수와 IF 함수가 주말 여부를 확인합니다.
예제 시트에서 일요일인 어린이날을 판정하는 C2 셀을 추적합니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
휴일 목록에서 같은 날짜를 셉니다
COUNTIF 함수가 휴일 날짜 범위에서 2024-05-05를 찾습니다. 같은 날짜가 한 번 있으므로 결과값은 1입니다.
=COUNTIF ( $F$2:$F$4, A2 )
= 1
요일 번호를 확인합니다
WEEKDAY 함수의 두 번째 인수에 2를 넣으면 월요일부터 일요일까지 1부터 7로 반환합니다. 2024-05-05는 일요일이므로 결과값은 7입니다.
=WEEKDAY ( A2, 2 )
= 7
공휴일 표시를 먼저 선택합니다
휴일 목록에서 찾은 개수가 0보다 크므로 첫 번째 IF 함수가 공휴일을 반환합니다. 일요일 조건도 만족하지만 휴일 목록 판정을 먼저 하므로 결과는 공휴일입니다.
=IF ( 1 > 0, "공휴일", IF ( 7 >= 6, "주말", "근무일" ) )
= 공휴일
02공휴일 이름과 주말 표시를 함께 가져오기
VLOOKUP 함수로 휴일 이름을 찾고, 찾는 날짜가 없으면 IFERROR 함수와 WEEKDAY 함수가 주말만 표시합니다.
예제 시트에서 휴일 이름을 찾는 D2 셀과 주말 표시로 바뀌는 D8 셀을 추적합니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
휴일표에서 날짜와 같은 행을 찾습니다
VLOOKUP 함수가 휴일표의 첫 번째 열에서 2024-05-05를 찾아 같은 행의 두 번째 값인 어린이날을 반환합니다.
=VLOOKUP ( A2, $F$2:$G$4, 2, 0 )
= 어린이날
휴일표에 없는 날짜를 확인합니다
2024-05-11은 휴일표에 없으므로 VLOOKUP 함수가 일치하는 이름을 찾지 못한 오류를 반환합니다.
=VLOOKUP ( A8, $F$2:$G$4, 2, 0 )
= #N/A
목록에 없으면 주말인지 확인합니다
2024-05-11은 토요일이므로 WEEKDAY 함수의 결과값 6이 주말 조건을 만족하고 주말을 반환합니다.
=IF ( WEEKDAY ( A8, 2 ) >= 6, "주말", "" )
= 주말
오류 대신 주말 표시를 남깁니다
IFERROR 함수가 휴일 이름을 찾지 못한 오류 대신 주말 판정 결과를 선택하므로 D8 셀에는 주말이 남습니다.
=IFERROR ( #N/A, "주말" )
= 주말