본문 바로가기
Excel

엑셀로 자동 달력 만들기( date함수, weekday함수와 조건부 서식 활용 )

by PooPoo_푸푸 2023. 6. 13.

 

엑셀로 만든 자동 달력

연도와 월을 입력하면 자동으로 날짜가 바뀌는 자동달력을 만들어 보겠습니다.

 

먼저 함수에 대해 간략하게 설명하겠습니다.

DATE 함수
 date(year, month, day)

년도, 월, 그리고 일을 나타내는 숫자를 인수로 넣으면 날짜형식의 값을 반환하는 함수입니다.

 

ex) date(2023,6,1) => 2023-06-01을 반환합니다.

 

WEEKDAY 함수
weekday(날짜, 타입)

인수로 날짜를 입력하면 그 날짜에 해당하는 요일을 숫자로 반환합니다. 타입에 따라 요일을 나타내는 숫자를

원하는 대로 출력할 수 있습니다. 이때 날짜값은 date 함수를 이용해서 입력합니다.

 

ex) weekday(date(2023,6,1),1) => 5

 

타입은 1일 때 일요일부터 1 ~ 7, 2일 때 월요일부터 1 ~ 7 이런 식으로 나타냅니다. weekday 함수를 사용하면

타입의 종류가 자동으로 나타나니 원하는 타입을 선택해서 사용하시면 됩니다.

 

자동 달력 만들기

먼저 자동 달력을 만들기 위해서는 원하는 달의 1일 무슨 요일인지를 알아야 합니다.

그러기 위해서 date 함수와 weekday 함수를 사용해서 그 값을 구할 수 있는데 이미 위의 weekday 함수 예제

에서 설명드렸듯이 두 함수를 이용해 요일을 나타내는 숫자를 구할 수 있습니다.

 

그럼 2023년 6월 달력으로 살펴보면, 달력 첫 칸인 b4셀의 수식은

=DATE(D2,E2,1)-WEEKDAY(DATE(D2,E2,1),1)+1

 입니다.

 

수식 설명을 드리면 처음 date 함수에서는 연도를 나타내는 d2셀, 월을 나타내는 e2셀, 그리고 1일을 나타내는

1 값을 입력합니다. 그러면 2023-06-01의 날짜값을 반환할 것입니다.

 

반환된 날짜값에서 weekday 함수를 활용해 구한 요일값을 빼주고 그 값에 1을 더해주면 아래 그림처럼 나타날

것입니다.

셀서식에서 표시형식은 '날짜'입니다

참고로 연도와 월을 표시하는 d2와 e2셀에는 숫자만 입력하고 뒤에 '년', '월'은 셀서식으로 지정합니다.

셀 서식은 아래 그림과 같습니다.

년도와 월의 표시형식

다음으로 2번째 칸부터는 전일자 셀에 1을 더해주면 됩니다.

 

ex) c4셀 수식 :  =b4+1

 

이렇게 6줄을 채워주면 아래 그림과 같이 나타날 것입니다.

위에 그림에서 우리는 날짜만 표시돼야 하기 때문에 불필요한 부분인 년도와 월은 없애겠습니다.

없애는 방법은 셀서식으로 쉽게 할 수 있는데 방법은 아래 그림과 같습니다. 셀서식을 지정할 영역을

선택한 후 아래 그림처럼 표시형식을 바꿔주면 됩니다.

마지막으로 전월 날짜와 익월 날짜를 표시하지 않고 사라지게 하면 완성인데 그것은 조건부서식으로

간단히 해결할 수 있습니다. 먼저 날짜영역을 범위 선택한 다음 조건부서식에서 새 규칙을 누르고

아래 그림과 같이 입력하신 후 우측 하단 서식에서 글자색을 흰색으로 하시면 됩니다.

수식 설명을 드리면

=MONTH(B4)<>$E$2 

month함수는 날짜값에서 월에 해당하는 값만 가져오는데 현재 b4셀은 '2023-05-28'일이기 때문에 '5'라는 숫자를

반환합니다. 그 값을 e2셀 값과 비교해 작거나 크면 글자색을 흰색으로 바꾸라는 서식이 만들어진 것입니다.

이 서식은 각 날짜셀들을 조건에 적용한 후 조건에 맞는 전월과 익월 날짜의 글자색을 흰색으로 바꾸게 됩니다.

 

이렇게 엑셀로 자동달력을 만들어 보았습니다. 제 설명이 필요하신 분들에게 도움이 되기를 바랍니다.

필요한 분들을 위해 원본파일도 첨부해서 올리겠습니다.

자동달력.xlsx
0.01MB

댓글