1.WeekDay
가. 기능
날짜에 해당하는 요일을 정수 형태로 반환합니다.
나. 구문
=WEEKDAY(serial_number,[return_type])
serial_number는 1900-01-01을 1로 해서 구하고자 하는 날짜에 해당하는 일련번호입니다.
return_type은 날짜별 특성을 고려해서 기본값은 일요일부터 시작하므로 일요일이 1이지만, 월요일이 1이 될 수도 있는 등 경우를 고려해서 반환 형식을 지정하는 것입니다.
return_type | 반환되는 수 |
1 또는 생략 | 1(일요일)에서 7(토요일) 사이의 숫자 이전 버전의 Microsoft Excel처럼 동작합니다. |
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) 요일을 한글로 표시하기
오늘은 구하는 함수 Today를 이용해서 오늘을 구한 다음 요일에 해당하는 숫자를 weekday 함수로 구하니 5가 구해집니다. 5는 일요일이 1이므로 목요일이 됩니다.
이제 숫자에 해당하는 요일을 구하려면
Choose 함수를 이용하면 되는데,
Choose 함수의 구문은
CHOOSE(index_num, value1, [value2], ...)
로서 일련번호를 주면 그에 해당하는 값을 순서대로 1은 vlaue1, 2는 value2가 반환됩니다.
따라서, 수식은 =CHOOSE(WEEKDAY(TODAY()),"일","월","화","수","목","금","토")이 됩니다.
따라서, 5에 해당하는 요일은 목이 됩니다.
2.WeekNum
가. 기능
날짜에 해당하는 주의 일련번호를 반환합니다.
이것도 지역적 특성을 고려한 것입니다.
나. 구문
=WEEKNUM(serial_number,[return_type])
으로 weekday와 마찬가지로 return_type이 있는데 이외에도 체계가 있는데,
return_type주가 시작되는 요일체계
1 또는 생략 | 일요일 | 1 |
2 | 월요일 | 1 |
11 | 월요일 | 1 |
12 | 화요일 | 1 |
13 | 수요일 | 1 |
14 | 목요일 | 1 |
15 | 금요일 | 1 |
16 | 토요일 | 1 |
17 | 일요일 | 1 |
21 | 월요일 | 2 |
체계 2인 21은 월요일부터 주가 시작되고, 목요일이 포함된 주가 1이 되는 것입니다.
다. 사용 예
(1) return 타입 미지정
(2) 날짜 입력 시 date 함수 이용 필요
2022-01-01이 몇 번째 주인가 살펴보려고 하는데,
일반적인 날짜 입력방식과 같이 2022/1/1로 입력하니 값이 28로 이상한 값이 나옵니다.
따라서, date 함수를 이용해 date(2022,1,1)로 입력해야 합니다.
(3) return_type으로 21을 지정하는 경우
2022년 1월을 보면 1/1이 토요일입이고, 목요일이 첫 번째 주에 없고 월요일부터 1주가 시작되므로 1/3부터가 첫 번째 주가 됩니다.
월요일부터 1주가 시작되므로 위 달력이 월요일부터 시작되는 것으로 바뀌어야 합니다.
=WEEKNUM(DATE(2022,1,1),21)라고 입력하면
1이 아니라 전년도에 해당되므로 52가 반환됩니다.
그리고, 1/2로 해도 일요일이므로 52가 반환되고,
1/3이 돼야 비로소 1이 반환됩니다.
'Excel' 카테고리의 다른 글
배열로 Or 조건 처리 (0) | 2024.05.04 |
---|---|
표 간 서식 복사하기 (0) | 2024.05.03 |
목, 금요일인 경우 4일 더하기 (0) | 2024.04.30 |
선입선출법에 따른 재고월 구하기 (0) | 2024.04.29 |
특정 문자 기준 몇 번째까지 문자열 가져오기 (4) | 2024.04.26 |