본문 바로가기

엑셀(excel)

엑셀 날짜별 요일 자동계산 (CHOOSE 함수, WEEKDAY 함수)

크게 중요한 내용은 아니지만, 엑셀 양식을 만들 때 은근 귀찮은(?) 작업중에 하나가 날짜별 요일을 입력하는 일입니다. 매일같이 날짜를 보면서 요일을 수기로 입력하거나, 입력해야 할 요일이 많은 경우는 특히나 더 손이 많이 가는 일입니다.

 

이번 장에서는 엑셀 함수를 이용하여, 해당 날짜의 요일을 엑셀이 자동으로 입력할 수 있는 수식을 보겠습니다.

우선, 사용할 함수는 CHOOSE 함수WEEKDAY 함수입니다.

각각의 수식 형식을 보면

=CHOOSE(index_num,value1,value2,...)

=WEEKDAY(serial_number,[return_type])

입니다.

 

CHOOSE 함수에서는 index_num에 해당하는 순서의 value 값을 가져오도록 정의되어있고,

WEEKDAY 함수는 serial_number는 '날짜'가 되고, 해당 날짜에 대한 '요일'을 '숫자'로 표시되도록 정의되어있습니다.

 

예시로 두 가지 함수를 활용한 요일 표시방법을 보도록 하겠습니다.

우선 WEEKDAY 함수부터... 아래 B열에 있는 날짜들에게 적용을 합니다.

 

 

수식은 =WEEKDAY(B4,1) 이 됩니다.

여기서 옵션([return_type])반복되는 패턴에 해당하며, 그림에서처럼 옵션에 따라서 시작하는 요일과 반복 패턴을 지정합니다.

보통 일주일의 시작은 일요일부터 지정하기에 옵션 1을 선택하게 됩니다.

결과 값으로 아래와 같이 요일이 '숫자'로 표시됩니다.

 

이는 옵션선택에 따라서 몇번째 요일인지를 지정해주는 '숫자'입니다.

예를 들어서 1이면 옵션이 일요일부터 시작되므로 일요일을 의미하고, 3이면 화요일, 7이면 토요일... 이런 식의 순서에 해당하는 숫자입니다.

(추가. 엑셀의 로직(?)에 대해서 조금 이해가 있으신 분들은 눈치채셨겠지만, 정확하게는 각 날짜가 가지고 있는 숫자 INDEX를 7로 나눈 나머지 값입니다.)

 

 

자, 이제 숫자로 표기된 '요일'을 CHOOSE 함수를 거쳐서 '요일'로 표기되도록 하겠습니다.

수식으로는 =CHOOSE(C4,"일","월","화","수","목","금","토") 입니다.

이는 위에 WEEKDAY의 옵션을 1로 선택하여 일요일부터 START되는 패턴이었기에,

CHOOSE 함수에서는 기준값이 WEEKDAY의 결과값으로 받은 숫자를 기준으로, "일"요일부터 "토"요일을 선택하게 하는 겁니다.

 

 

이 두 함수를 한꺼번에 합성(?)시키면, 전체 수식은

=CHOOSE(WEEKDAY(B1,1),"일","월","화","수","목","금","토") 입니다.

 

 

반응형