메뉴
실무자 기초 강의

엑셀 날짜 주 단위 계산 4가지 상황별 완벽 정리

오빠두엑셀 by 오빠두엑셀
  • 학습시간 9분
  • 작성일 2020.10.19
  • 조회수 23.1만회

각 상황별 적용할 수 있는 마스터 공식으로 알아보는 엑셀 날짜 주 단위 변환 해결방법 총정리

이 강의에서는 엑셀에서 날짜를 주 단위로 변환할 때 자주 마주치는 네 가지 상황을 마스터 공식 한 줄로 해결하는 방법을 다룹니다. 연 기준·월 기준·특정 요일 기준·매월 1일 기준 공식과 국가기술표준원이 공시한 '주간수 결정법' 공식까지 함께 정리해, 보고서나 일정표에서 일관된 주차 번호를 산출할 수 있습니다.

엑셀 날짜 주 단위 계산 4가지 상황별 완벽 정리
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

엑셀 날짜 주 단위 변환 마스터 공식

각 상황별로 적용할 수 있는 4가지 주 단위 변환 마스터 공식은 다음과 같습니다.

  1. 연 기준 주 단위 계산
    =WEEKNUM(날짜,기준)
  2. 월 기준 주 단위 계산
    =WEEKNUM(날짜,기준)-WEEKNUM(EOMONTH(날짜,-1)+1,기준)+1
  3. 매월 특정 요일 기준 주 단위 계산
    =WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,기준)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10)
  4. 매월 1일 기준 주 단위 계산
    =IF(OR(WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,기준)+1))+7)<WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,기준)+1))),WEEKNUM(날짜,기준)=WEEKNUM(EOMONTH(날짜,0)+1,기준)),1,WEEKNUM(날짜,기준)-WEEKNUM(EOMONTH(날짜,-1)+1,기준)+1)
  5. 매월 1일 기준 년 단위 계산 관련 엑셀 Q&A 게시글 링크
    =IF(IF(WEEKDAY(DATE(YEAR(날짜),1,1),기준)<>7,WEEKNUM(날짜)-1,WEEKNUM(날짜))=0,IF(WEEKDAY(DATE(YEAR(날짜)-1,1,1),기준)<>7,WEEKNUM(DATE(YEAR(날짜)-1,12,31))-1,WEEKNUM(DATE(YEAR(날짜)-1,1,1))),IF(WEEKDAY(DATE(YEAR(날짜),1,1),기준)<>7,WEEKNUM(날짜)-1,WEEKNUM(날짜)))

각 공식의 동작 원리는 아래 두 게시글에서 단계별로 자세히 설명해 드립니다.

공식에 사용된 인수 설명
인수 설명
날짜 주 단위를 계산할 날짜가 입력된 셀 또는 날짜 값입니다. 엑셀에서 날짜로 인식할 수 없는 값이 입력되면 공식은 #VALUE! 오류를 반환합니다.
기준 주 단위를 계산할 기준 요일입니다. 기준 요일 번호는 아래 별도의 표로 정리해 드렸습니다.
기준 요일 번호
기준요일 번호
월 11
화 12
수 13
목 14
금 15
토 16
일 17

국가기술표준원에서 공시한 '주간수 결정법'에 따른 마스터 공식

국가기술표준원에서 공시한 '주간수 결정법'이라는 주 단위 표준 계산법이 별도로 마련되어 있습니다. (정보를 공유해 주신 @가나다라다나가 님께 감사드립니다.)

국가기술표준원 주단위계산

위 계산법을 정리하면, 주 단위 계산 시 다음 두 가지 규칙이 지켜져야 합니다.

  1. 한 주는 '월요일 시작'을 기준으로 계산합니다.
  2. 7일 중 과반, 즉 목요일 이후를 포함하는 주를 한 주로 계산합니다. 예를 들어 2020년 10월 1일은 금요일이므로, 2020년 10월 4일부터 10월 1주차로 계산합니다.

따라서 주간수 결정법을 기준으로 한 마스터 공식은 다음과 같습니다.

=IF(WEEKDAY(DATE(YEAR(날짜),MONTH(날짜),1),11)<=5,IF(AND(WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)<=5,WEEKNUM(날짜,11)=WEEKNUM(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)),1,WEEKNUM(날짜,11)-WEEKNUM(EOMONTH(날짜,-1)+1,11)+1),IF(AND(DAY(날짜)<8,WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10)>2,WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)-1,1),2)<=5),WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10)+1,IF(AND(WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)<=5,OR(WEEKNUM(날짜,11)=WEEKNUM(DATE(YEAR(날짜),MONTH(날짜)+1,1),11),WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,11)+1))+7)<WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,11)+1))))),1,WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10))))

주간수 결정법에 따라 계산할 때는 전월·다음 달 1일이 무슨 요일인지에 따라 계산 방식이 달라지기 때문에 공식이 다소 길어집니다. 각 구간별로 나눠 계산 흐름을 정리하면 다음과 같습니다.

대분류1: 이번달 1일이 '월~목'에 포함되는 경우 (--> 기존 방식으로 주 번호 계산)
  1. [중분류1] 다음달 1일이 '월~목'이면서 오늘 날짜의 연주차가 다음달 1일의 연주차와 동일한 경우
    ==> 1

    IF(AND(WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)<=5,WEEKNUM(날짜,11)=WEEKNUM(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)),1,...
  2. [중분류2] 그렇지 않을 경우
    ==> 주 번호 계산

    WEEKNUM(날짜,11)-WEEKNUM(EOMONTH(날짜,-1)+1,11)+1)
대분류2: 이번달 1일이 '금~일'인 경우 (--> 월요일 시작 기준 주 번호 계산)
  1. [중분류1] 오늘이 8일 이전이면서, 월요일 시작 기준 주 번호가 2보다 크고, 이전달 1일이 '월~목'인 경우 (⭐ 즉, 오늘 날짜가 이번 달 끝자락이지만 월요일 기준으로 계산하면 다음달 1주차로 포함되는 경우)
    ==> 월요일 기준 주 번호 + 1 (이전달 1일이 '월~목'이므로 기존 주 번호에 1을 더해 보정합니다.)

    IF(AND(DAY(날짜)<8,WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10)>2,WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)-1,1),2)<=5),WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10)+1,...
  2. [중분류2] 다음달 1일이 '월~목'이면서 오늘 날짜의 연주차가 다음달 1일의 연주차와 동일하거나, 다음 주 연주차가 오늘 날짜의 연주차보다 클 경우 (* 12월에서 1월로 넘어가는 주에 해당)
    ==> 1

    IF(AND(WEEKDAY(DATE(YEAR(날짜),MONTH(날짜)+1,1),11)<=5,OR(WEEKNUM(날짜,11)=WEEKNUM(DATE(YEAR(날짜),MONTH(날짜)+1,1),11),WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,11)+1))+7)<WEEKNUM(DATE(YEAR(날짜),MONTH(날짜),DAY(날짜-WEEKDAY(날짜,11)+1))))),1,...
  3. [중분류3] 그렇지 않을 경우
    ==> 월요일 시작 기준 주 번호 계산

    WEEKNUM(DATE(YEAR(날짜),1,DAY(날짜-WEEKDAY(날짜,11)+1)),WEEKDAY(DATE(YEAR(날짜),1,1),11)+10))))

엑셀 주 단위 계산 - 기초 (년기준 vs 월기준)

엑셀에서 날짜를 주 단위로 변환하는 방식은 크게 두 가지로 나눌 수 있습니다.

  1. 1년 기준으로 주 단위를 계산
  2. 월 기준으로 주 단위를 계산

1년 기준으로 주 단위를 계산하는 방식을 달력으로 표현하면 다음과 같습니다.

주 번호 일 월 화 수 목 금 토
52 12/22 12/23 12/24 12/25 12/26 12/27 12/28
53 12/29 12/30 12/31
1 1/1 1/2 1/3 1/4
2 1/5 1/6 1/7 1/8 1/9 1/10 1/11
3 1/12 1/13 1/14 1/15 1/16 1/17 1/18
4 1/19 1/20 1/21 1/22 1/23 1/24 1/25
5 1/26 1/27 1/28 1/29 1/30 1/31 2/1
6 2/2 2/3 2/4 2/5 2/6 2/7 2/8
7 2/9 2/10 2/11 ...

실제 업무에서는 1년 기준보다 '월 기준'으로 주 단위를 계산하는 경우가 더 많습니다. 월 기준 계산을 달력으로 표현하면 다음과 같습니다.

주 번호 일 월 화 수 목 금 토
5 12/22 12/23 12/24 12/25 12/26 12/27 12/28
6 12/29 12/30 12/31
1 1/1 1/2 1/3 1/4
2 1/5 1/6 1/7 1/8 1/9 1/10 1/11
3 1/12 1/13 1/14 1/15 1/16 1/17 1/18
4 1/19 1/20 1/21 1/22 1/23 1/24 1/25
5 1/26 1/27 1/28 1/29 1/30 1/31
1 2/1
2 2/2 2/3 2/4 2/5 2/6 2/7 2/8
3 2/9 2/10 2/11 ...

다만 이 방식으로 매월 주 단위를 계산할 경우 상황에 따라 정확하게 계산되지 않을 수 있습니다. 한 주 안에 7일이 온전히 포함되지 않는 구간이 발생하기 때문입니다. 예를 들어 2019년 12월의 마지막 주와 2020년 1월의 첫째 주를 보면, 12월 마지막 주에는 3일만, 1월 첫째 주에는 4일만 포함된 것을 확인할 수 있습니다.

이러한 문제를 해결하기 위해 월 기준 주 단위 계산 시에는 두 가지 대안을 고려할 수 있습니다.

월 기준 주 단위 계산 문제 해결 방법

기존 월 기준 주 단위 변환에서 발생하는 '한 주 안에 7일이 온전히 들어가지 않는 문제'를 해결하기 위해 다음 두 가지 방법을 고려할 수 있습니다.

  1. 특정 요일 기준 주 단위 계산
    - 당월 첫째 날이 이전 달 마지막 주로 계산됩니다.
  2. 매월 1일 기준 주 단위 계산
    - 전월 마지막 날이 당월 첫째 주로 계산됩니다.

각 방법이 어떻게 적용되는지 실제 달력과 함께 살펴보면 다음과 같습니다.

특정 요일 기준 주 단위 계산 예제

특정 요일 기준으로 주 단위를 계산하면 2020년 1월 ~ 2020년 2월의 주 번호는 다음과 같이 산출됩니다.
(* 예제에서는 '일요일'을 기준으로 주 단위를 계산했습니다.)

주 번호 일 월 화 수 목 금 토
6 12/29 12/30 12/31 1/1 1/2 1/3 1/4
1 1/5 1/6 1/7 1/8 1/9 1/10 1/11
2 1/12 1/13 1/14 1/15 1/16 1/17 1/18
3 1/19 1/20 1/21 1/22 1/23 1/24 1/25
4 1/26 1/27 1/28 1/29 1/30 1/31 2/1
1 2/2 2/3 2/4 2/5 2/6 2/7 2/8
2 2/9 2/10 2/11 ...

이처럼 특정 요일 기준으로 주 단위를 계산하면, 1월의 첫 일요일이 1/5이므로 1월의 첫째 주는 1월 5일부터 시작합니다. 동일하게 2월도 첫 일요일이 2/2이므로 2월 2일부터 첫째 주로 계산됩니다.

매월 1일 기준 주 단위 계산 예제

특정 요일 기준이 아닌 매월 1일 기준으로 주 단위를 계산할 수도 있습니다. 매월 1일 기준 계산은 전월의 마지막 날이 당월 첫째 주에 포함되는 방식이며, 달력으로 살펴보면 다음과 같습니다.

주 번호 일 월 화 수 목 금 토
1 12/29 12/30 12/31 1/1 1/2 1/3 1/4
2 1/5 1/6 1/7 1/8 1/9 1/10 1/11
3 1/12 1/13 1/14 1/15 1/16 1/17 1/18
4 1/19 1/20 1/21 1/22 1/23 1/24 1/25
1 1/26 1/27 1/28 1/29 1/30 1/31 2/1
2 2/2 2/3 2/4 2/5 2/6 2/7 2/8
3 2/9 2/10 2/11 ...

매월 1일 기준으로 주 단위를 계산하면, 매월 1일이 포함된 주를 그 달의 첫째 주로 계산합니다. 따라서 2020년 1월의 경우 전월 마지막 날인 12/29~12/31이 1월 첫째 주에 포함되며, 동일한 원리로 1월 마지막 날인 1/26~1/31도 2월 첫째 주에 포함되어 주 번호가 산출됩니다.

엑셀 날짜 주단위 변환 공식 사용방법

앞서 안내한 마스터 공식은 '찾기 및 바꾸기' 기능을 활용하면 원하는 시트 어디에든 손쉽게 적용할 수 있습니다.

  1. 마스터 공식을 복사해 원하는 셀에 붙여넣습니다. 이 단계에서는 함수 결과값으로 #NAME? 오류가 출력되는 것이 정상입니다.엑셀 날짜 주 단위 변경 공식 NAME 오류
  2. 함수가 입력된 셀과 함께 옆의 빈 셀(또는 Ctrl 키를 누른 채 떨어진 빈 셀을 동시 선택)을 함께 선택한 뒤, [홈] - [찾기 및 선택] - [바꾸기] 메뉴로 이동하거나 단축키 Ctrl + H로 '찾기 및 바꾸기'를 실행합니다.찾기 및 바꾸기 실행
  3. [찾을 내용]에 '날짜', [바꿀 내용]에 날짜가 입력된 셀 주소를 입력한 뒤 [모두 바꾸기] 버튼을 클릭합니다. 수식의 '날짜' 텍스트가 해당 셀 주소로 일괄 변경됩니다.
    엑셀 주 단위 변경 날짜 변경
  4. [찾을 내용]에 '기준', [바꿀 내용]에 적용할 기준 요일 번호를 입력한 뒤 [모두 바꾸기] 버튼을 클릭하면 수식의 '기준'이 해당 숫자로 변경됩니다.
    엑셀 주 단위 변경 기준 요일 입력
  5. 이후 수식을 자동 채우기로 복사하면 각 날짜의 주 단위 계산이 완료됩니다.엑셀 주 단위 변경 완료
댓글 35
4.9 (19개 평가)
aron007
aron007 2020.10.20 14:20
많은 도움이 되었습니다 ^^ 감사합니다.
Sam Ryu
Sam Ryu 2021.07.05 19:58
오빠두님 최고...이보다 완벽할 순 없다.
dark****
dark**** 2021.08.08 00:32
감사합니다. 그런데 7일 중 과반, 즉 목요일 이후를 포함하는 주를 한 주로 하고, 이걸 1년 기준으로 주 단위를 계산하는 공식은 별도로 없을까요?
오빠두엑셀
오빠두엑셀 작성자 2021.08.10 20:42
안녕하세요.
WEEKNUM 함수의 반환형식을 14로 설정해보시겠어요?
목요일 시작 기준으로 연 단위 주번호를 계산할 수 있습니다.
https://www.oppadu.com/%ec%97%91%ec%85%80-weeknum-%ed%95%a8%ec%88%98/
dark****
dark**** 2021.08.11 07:47
댓글 감사합니다. 근데 죄송하지만 방금해봤는데, 저희 회사 주차 기준이랑은 안맞네요ㅠ 목요일 기준으로 하니 1월1일이 수요일이면 수요일이 1주차가 되고, 목요일이 2주차로 변하네요
연말+연초만 과반기준이고, 한주의 기준은 무조건 월~일로 하게 됩니다.
예로 1월 1일이 목요일이면,
12월 29일(월)~1월4일(일)부터 1주차이고 누적
1월1일이 수요일이면,
전년도 마지막 주차로 포함되고
1월6일(월)~1월 12일(일)이 1주차가 되는 형식입니다. 너무 어렵네요ㅠㅠ
dark****
dark**** 2021.08.11 07:46
.
illing
illing 2021.08.10 09:06
오빠두님 연단위로 과반 계산방법은 없을까용??
Good!
Good! 2021.11.15 16:48
제가 잘못 적용한건지 모르겠으나 2021년 기준 3월 29일, 6월 28일, 8월 30일, 11월 29일이 5주차가 아닌 1주차로 표기됩니다.
잘못 적용한건가요?
오빠두엑셀
오빠두엑셀 작성자 2021.11.16 20:31
주 번호를 집계하는 기준 요일이 올바른지 한번 확인해보세요 ^^
월 기준으로 주 번호를 계산해야 할 경우, 두번째 공식인 월 기준 주단위 계산 공식을 사용해보세요.
토백이
토백이 2021.12.03 14:29
상황에 맞게 활용하면 많은 도움이 되겠습니다. 고맙습니다^^
빠른머리
빠른머리 2022.01.05 22:26
감사합니다!
문일수
문일수 2022.01.27 10:21
2022년3월1일 기준으로 77주 후면 ?년?월?일 엑셀 표시 방법은요?
오빠두엑셀
오빠두엑셀 작성자 2022.01.27 17:17
문일수님 안녕하세요.
=Date(2022,3,1)+7*77
로 입력해보세요.
chanchan
chanchan 2022.02.03 00:28
해당 마스터 수식을 가지고 ~월 ~주차 라고 표시하고 싶은데, 주차는 표시할 수 있는데 월을 표시하려면 혹시 어떻게 해야할까요 ?ㅠ 피벗테이블 적용때문에 꼭 필요한데 초보라 잘 모르겠습니다.
오빠두엑셀
오빠두엑셀 작성자 2022.02.06 18:29
Chanchan 님 안녕하세요.
월 / 주차를 표시하려면 아래와 같이 별도 열에 수식을 입력해보세요
=Month(날짜) & "월 " & 주차공식 & " 주차"
chanchan
chanchan 2022.02.07 04:08
답변 감사합니다! 그런데 제가 질문을 조금 세세하게 작성하지 못한 부분이 있는데, 매주 월 기준으로 해당 마스터 공식으로 표시했을 때 2022-05-01 의 경우 4월 4주차라고 표시되어야 하는데, 5월 4주차라고 표시됩니다. 월요일을 기준으로 주간결정법을 통해 월별주차를 표시하면 과반 이하의 월의 경우는 따로 표기되어야할 것 같은데 해당 부분을 해결할 수 있는 함수가 따로 있을까요?
excelstudy
excelstudy 2022.03.22 16:37
회사 달력 기준으로 22년 1월1일(토)의 경우, 21년의 날짜가 포함되어 52주차(21년)이고, 1월2일(일)부터 1주차로 기준되어 있습니다. 이를 반영하는 공식이 있을까요..?
오빠두엑셀
오빠두엑셀 작성자 2022.03.23 04:59
안녕하세요.
요일을 기준으로 주단위를 계산하는 공식을 베이스로 사용하시면서 추가로 이전주 vs 이번주의 연도를 비교해서 다를 경우 이전주의 주차번호를 받아오도록 공식을 작성해보세요.
스크랩 완료