날짜 및 시간함수인 weekday와 date함수를 이용해 달력을 만드는 방법에 대해 얘기하겠습니다. 언뜻 간단해 보이긴 하지만, 날짜가 일련번호로 인식되는 엑셀의 특성때문에 헷갈리는 부분이 있는데요. 엑셀을 공부하는데는 좋은 방법이 되리라 생각합니다.
엑셀-달력만들기
가장 먼저 년도와 월을 입력한 후 각 셀에 이름정의를 합니다.
(년도는 "year", 월은 "month")
그 다음 임의의 셀에 =weekday(date(year,month,1)) 처럼 수식을 입력합니다.
매월 첫날의 요일-weekday함수
Weekday함수는 날짜에 해당하는 요일을 반환하는 함수입니다.
기본적으로 1(일요일)에서 7(토요일)로 정수값을 반환하는데요.
일요일부터 시작하는 달력을 만들고 싶다면, 위와 같이 기본값을 사용하면 됩니다.
만약, 월요일부터 시작하는 달력을 원한다면, 수식을
weekday(date(year,month,1),2) 와 같이 입력하면 됩니다.
매월 첫째주-조건부 서식과 column함수
A3~G3셀에는 "=COLUMN()-$H$1+1" 와 같은 수식이 입력되어 있습니다.
(H1셀은 weekday함수를 사용한 매월 첫째날의 요일에 해당하는 값입니다.)
2016년 1월1일은 금요일이므로 weekday함수가 반환하는 값은 6입니다.
F3셀은 column번호는 6이므로 "=COLUMN()-$H$1+1"에 의해 반환되는 값은
1이 되며, 토요일인 G3셀은 2이고 일요일부터 목요일까지는 0이하의 값이 됩니다.
조건부 서식을 이용해 0이하의 값은 표시되지 않도록 글씨색을 흰색으로 지정합니다.
매월 첫째주를 제외한 나머지 주
A4~G8까지의 셀(첫번째 주를 제외한 나머지 주)에는 바로 위에 있는 셀에
7을 더합니다. 즉, A4셀에는 A3+7, B4셀에는 B3+7....이 입력됩니다.
매월 마지막날의 날짜
매월 첫째날의 위치를 구하는 방법을 알았으며, 둘째주부터는
첫째주의 날짜에 7만 더하면 달력의 모양새가 갖춰지게 됩니다.
이제 마지막 날짜만 구분할 수 있게 되면 달력이 완성되는데요.
I1 셀에는 "=DATE(year,month+1,0)" 라는 수식이 입력되어 있습니다.
Date 함수는 특정날짜의 일련번호를 표시하는데요,
입력된 수식을 풀어보면 2016년(year), 2월(month+1), 0번째날입니다.
매월 첫째날이 1이므로, 0번째날은 바로 직전달의 마지막날이 됩니다.
네, I1 셀의 "=DATE(year,month+1,0)" 수식은 바로 원하는 달의 마지막날에
해당하는 일련번호를 반환합니다.
조건부서식을 이용하여, 일련번호가 마지막날보다 클경우 표시되지 않도록 하면
아래 그림과 같이 지정된 년도와 월에 해당하는 달력이 완성됩니다.
날짜 및 시간함수를 이용하여 엑셀로 달력을 만드는 방법은 몇가지가 더 있는데요.
개인적으로 가장 간단하다고 생각되는 방법을 소개해 드렸습니다.
위의 설명만으로 잘 이해가 되지 않으신다면 아래 첨부파일을 참고하세요.
이상입니다.
'Functions > 날짜 및 시간함수' 카테고리의 다른 글
[Excel] Weekday 함수에 대하여 (0) | 2016.02.04 |
---|---|
[Excel] 엑셀의 날짜 및 시간함수의 이해 (0) | 2016.01.26 |