Home > 엑셀 함수 > 날짜 및 시간 함수 > 엑셀함수 WEEKDAY – 날짜에서 요일값 구하기

엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

엑셀의 WEEKDAY함수는 어떤 날짜의 요일값을 숫자 형태로 반환해준다. 1은 일요일, 2는 월요일, 3은 화요일... 이런 식으로 구해준다. 2번째 인수에 따라서 요일값을 다르게 구할 수도 있다. WEEKDAY함수는 단독으로 사용되기 보다는 IF함수나 CHOOSE함수 등 다른 함수와 같이 사용되는 경우가 많다.

눈으로만 보면 이해가 어려울 수 있으니 아래의 실습용 파일을 다운로드 받아서 따라해 보자.

구문(Syntax)

WEEKDAY(serial_number,[return_type])

인수 :

serial_number : 날짜(serial_number라고 부르는 이유는 날짜는 엑셀 내부적으로 일련번호 형태로 저장되기 때문이다)

return_type : 반환 값 유형을 결정하는 인수, 생략 가능

  • 1 또는 생략 – 1(일요일)에서 7(토요일) 사이의 숫자
  • 2 – 1(월요일)에서 7(일요일) 사이의 숫자
  • 3 – 0(월요일)에서 6(일요일) 사이의 숫자
  • 11 – 1(월요일)에서 7(일요일) 사이의 숫자
  • 12 – 1(화요일)에서 7(월요일) 사이의 숫자
  • 13 – 1(수요일)에서 7(화요일) 사이의 숫자
  • 14 – 1(목요일)에서 7(수요일) 사이의 숫자
  • 15 – 1(금요일)에서 7(목요일) 사이의 숫자
  • 16 – 1(토요일)에서 7(금요일) 사이의 숫자
  • 17 – 1(일요일)에서 7(토요일) 사이의 숫자

 

사용예 :

1) 두 번째 인수를 생략했을 때(일요일은 1, 월요일은 2, 화요일은 3…)

WEEKDAY함수로  요일값을 구하는데 다음 그림과 같이 일요일은 1, 월요일은 2, 화요일은 3... 토요일은 7과 같이 구하기 위해서는 =WEEKDAY(날짜)의 형태로 두 번째 인수를 생략하거나 두 번째 인수로 1을  입력한다.

엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

 

아래 그림과 같이 C5, C6.. 셀에
=WEEKDAY(B5)의 형태로 입력한다. 일자에 해당하는 요일값이 숫자로 구해진다.
엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

2) 두 번째 인수로 2를 입력했을 때(일요일은 7, 월요일은 1, 화요일은 2…)

실무에서 WEEKDAY함수를 이용하다 보면 일요일의 요일값이 "1"이 아니라 다른 값이 필요한 경우가 있다. 이 때 두 번째 인수를 이용해서 원하는 값으로 바꿀 수 있다. 인수별 요일값은 이 글 상단에 나와 있는 "구문(Syntax)"에 설명된 내용을 참고하면 된다.

예제로 아래 그림과 같이 일요일의 요일값이 7, 월요일은 1, 화요일은 2... 이런 형태로 구하기 위해서는 =WEEKDAY(날짜, 2)의 형태로 입력한다.
엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

 

아래 그림과 같이 C20, C21... 셀에
=WEEKDAY(B20,2)의 형태로 입력한다. 일자에 해당하는 요일값이 숫자로 구해진다.
엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

 

3) 함수 응용 - 토,일요일 근무시 기본일급의 150%를 지급할때 급여계산하기

WEEKDAY함수를 열심히 배웠는데 어디에 쓸 수 있을까? 실무에서 쓸 수 있도록 응용해 보자.

어떤 회사에서 일용 근로자 급여를 계산해야 하는데...

  • 기본일급이 5만원(8시간 일한다고 하면 최저 시급도 안됨 ㅠㅠ...)이라고 가정하고
  • 평일에는 기본일급 그대로 지급하고
  • 토요일, 일요일에 근무하면 기본 일급의 150%를 지급한다

고 했을 경우에 다음 그림과 같은 유사한 형태로 표를 만들어야 계산을 해야 할 것이다.

다음 수식을  D7, D8... 셀에 입력한다.
=IF(C7="Y", IF(WEEKDAY(B7)=7,1.5,IF(WEEKDAY(B7)=1,1.5,1))*$C$4,0)

함수안에 함수가 중첩되어 있어서 복잡하다.
함수를 풀이해 보면

  1. 만약에 C7의 값이 "Y"이면(근무여부를 "Y"라고 표시한 경우에 급여계산)
  2. B7의 요일값을 구해서 7(토요일)이면 1.5(150%)를 구하고
  3. 7이 아니면 다시 요일값을 구해서 1(일요일)이면 1.5(150%)를 구하고
  4. 7(토요일)도 아니고 1(일요일)도 아니면(평일이면) 1(100%)를 구한다.
  5. 이렇게 구한값에 기본일급 5만원을 곱하면 요일별 일급이 계산된다.
    엑셀함수 WEEKDAY - 날짜에서 요일값 구하기

    요일별 일급 계산하기

 

이것으로 WEEKDAY함수에 대한 설명을 마친다. 날짜함수에 대한 기초지식이 필요하면 "엑셀에서 날짜와 관련된 수식과 함수 기초"글을 참고하면 된다.

 

[ 엑셀 날짜 및 시간 함수 ]

“엑셀함수 WEEKDAY - 날짜에서 요일값 구하기”의 6개의 댓글

  1. 파일을 열때마다 today()가 작동해서 날짜가 자꾸 바뀝니다. 저장한 날짜에 today함수로 나온 날짜를 그대로 하고싶습니다.

    1. 날짜가 바뀌지 않도록 하려면, 원하는 날짜를 직접 입력하시면 될것 같습니다.

  2. 시작일과 종료일 사이에 포함된 월 구하기는 어떻게 해야할까요? 날짜구간 데이터가 있고 월마다 데이터를 정리해야하는데 어려움이 있습니다..
    예) 시작일 2020.03.01, 종료일 2020.09.07
    월 : 3,4,5,6,7,8,9

    1. 안녕하세요. MONTH함수로 시작월과 종료월을 구하고, 종료월-시작월+1 = 월의 갯수, 시작월부터 1씩 더하되 월의 갯수만큼 계속더하는 방식을 응용하시면 될듯합니다.
      감사합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다.