본문 바로가기
엑셀공부

엑셀 - 달력 만들기 (일자 자동으로 세팅)

by 유키의 스토리 2022. 4. 24.
반응형

간단히 달력을 만드는 방법에 대해 알아보겠습니다. 더 나아가 날짜설정을 바꾸면 자동으로 날짜가 바뀌게끔 세팅을 해보겠습니다.

1. 형태 만들기

위와같이 이미지를 만듭니다. 간단하게 7*7표를 만들고 위에는 요일표시 나머지는 요일을 위한 공간으로 두시면 됩니다. 일요일과 토요일은 휴일을 구별하기위해서 빨간색과 파란색으로 변경하면 좋습니다.

 

2. 내용 구성하기

제목적기 - B2에 셀서식을 20포인트, 굵게 설정 후 달력만들기 제목을 적어줍니다.

날짜적기 - W2셀에 연월 설정이라는 셀이있고, Z2셀에 날짜를 적었습니다. (날짜가 변경 될 때마다 적어주면 알아서 바뀌게끔 되어있으니 날짜형식으로 넣어주셔야합니다. 참고로 날짜에서 일자는 1로 적어야합니다. 그러나 표시는 미관상 일자가 생략되게 해놓았습니다. 셀서식에서 변경할 수 있습니다.)

날짜부분은 셀서식에서 YYYY년 MM월 형태로 변경가능

그리고 관건이 되는 부분이 날짜인데 은근히 쉽습니다. 지급은 22년 6월로 되어있고 이에 배열되는 날자판을 만들어보겠습니다. 우선 좌측 상단을 픽스시켜놓고 나머지는 수식을 "=해당 셀+1"로 하였습니다.

B5셀은 "= Z2 - WEEKDAY(Z2) +1" 입니다. 그 날짜의 일요일부분을 추출하기 위해서 우선 WEEKDAY라는 한 주에 몇 번째 요일에 속하느냐? 라는 함수를 사용하였습니다. 그래서 그 함수에 22년 6월 1일이라는 데이터를 넣으면 4라는 숫자가 나옵니다. 왜냐하면 그 날은 수요일이고, 즉 "일,월,화,수" 이렇게 4번째 해당하는 4가 추출된 것입니다. 숫자를 추출한 것을 원래 날짜에서 빼준 형식입니다. 여기에 본래날짜도 빼버렸으므로 +1을 해주면 마무리가 됩니다. 베이스 날짜가 설정이 된 것이고 이제 나머지는 1만 더해주면 완료가 되는 것입니다.

참고로 달력은 많으면 1달에 6주까지 발생하므로 6줄을 만들었고, 평상시 5주인 경우에는 마지막 1줄을 숨김처리하는 방식으로 사용하면 됩니다.

 

3. 조건부서식 적용하기

모든 날짜가 표기되면 정신사나워서 그 달이 속하지 않는 날이라면 회색으로 자동 음영처리되는 방법을 알아보겠습니다. 위의 달력의 경우는 6월이지만 5월 마지막째주도 걸려있고 7월 첫째주도 걸려있어서 모두 표기된다면 정말 헷갈리기 쉽습니다. 따라서 6월이 아니라면 회색 등으로 음영처리해주면 보기 깔끔해질 것입니다.

여기서 사용하는 부분이 조건부 서식이라는 것입니다. 조건을 설정해서 그 조건이 되면 설정한 서식을 적용한다는 뜻인데요, 수식을 정의한 후 적용할 서식을 설정해주시면 완료가 됩니다. 이 부분도 초간단하므로 하단과 같이 확인해주시면 됩니다. 해당 날짜의 월이 아니라면 회색으로 변경하게끔 해주면 됩니다.

수식은 =OR (설정날짜 > 해당날짜, EOMODTH(설정날짜,0) < 해당날짜)로 설정하였습니다. 설정날짜가 22년 6월 1일이므로 그거보다 작으면 22년 5월 31일 이전이 되는 것이고 해당이 되므로 회색음영으로 변하게 됩니다. 또는 EOMONTH 함수를 이용하여 설정날짜의 월을 말일로 바꾼다음 해당날짜가 더 크면 22년 7월 1일 이후가 되는 것이므로 회색음영으로 변하게 되는 것입니다. 

미리보기 옆에 서식을 눌러서 적절히 회색으로 변경해주시면 위와같은 달력처럼 6월이 아닌부분에 회색음영으로 변경이 될 것입니다.

조건부서식으로 해당월이 아니면 회색음영으로 변경

 

여기까지 엑셀로 달력을 만들어서 설정날짜만 바꾸면 달력이 알아서 바뀌게끔 만들었습니다. 다음에는 달력에 자동으로 표시하는 방법을 알아보겠습니다.

반응형

댓글