엑셀에서 다이나믹 달력 만드는 쉬운 방법
IT,PC,모바일,스마트폰 정보와 팁 그리고 제품리뷰와 생활정보
엑셀에서 다이나믹 달력 만드는 쉬운 방법
엑셀은 활용하기에 따라서 정말 다양한 작업을 할수가 있는데요. 이번 포스팅에서는 엑셀에서 아주 간단한 함수를 이용을 해서 다이나막 달력을 만드는 방법에 대해서 알아 보도록 하겠습니다. 월만 선택을 하면 그 달의 달력을 바로 만들수 있는 방법에 대해서 알아 보도록 하겠습니다. 이 방법을 이용을 하면 함수 하나만 입력을 하면 되는데요. 아주 쉽게 달력을 만들수가 있습니다.
엑셀에서 다이나믹 달력 만드는 방법
엑셀에서 다이나믹 달력을 만들때 사용하는 함수는 SEQUENCE, CHOOE, WEEKDAY 함수 3가지를 이용을 해서 만들수가 있습니다. 한 라인으로 한곳에만 입력을 하면 되는 아주 간단한 방법입니다.
일단 만들려고하는 달력 상단에 월을 선택을 하는 리스트 박스를 하나 만듭니다. 리스트 박스 만드는 방법은 데이터 유효성에서 제한 대상을 목록으로 하고 원본에 년,월,일 까지 입력이 되어 있는 날짜를 지정을 해주시면 됩니다. 원본 데이터의 속성은 날짜여야 하고 보이는건 월까지 보이면 되지만, 실제 입력되어 있는 값은 각 월의 1일이 입력이 되어 있어야 합니다.
2024년 1월 1일, 2024년 2월 1일 이런식으로 입력이 되어 있어야 합니다. 이렇게 해서 아래처럼 상단에 리스트 박스를 하나 만들어 주시면 됩니다.
그리고 그 바로 아래에다가는 일요일 부터 토요일까지를 입력을 해주시면 됩니다. 요일을 보기 쉽게 넣어 주시고 원하는 느낌으로 꾸며 주시면 됩니다. 그리고 일요일 바로 아래 아래 이미지에서처럼 저 같은 경우에는 A4 행에 함수를 넣어 주시면 됩니다. 이때 사용되는 함수는 아래와 같아요.
=SEQUENCE(6,7,A2-CHOOSE(WEEKDAY(A2),0,1,2,3,4,5,6))
A2 가 그 달의 시작날짜를 의미 합니다. 이렇게 A4 에다가 이 함수를 입력을 해주시면 나머지 칸들은 자동으로 입력이 되게 됩니다. 함수는 딱 한번만 입력을 해주시면 됩니다.
여기에서 사용된 함수의 핵심은 SEQUENCE 함수입니다. SEQUENCE는 엑셀에서 배열을 생성할 때 매우 유용한 함수로, 이 예시에서는 6행 7열의 배열을 만들어 달력의 각 날짜를 배치하는 데 사용됩니다.
1. SEQUENCE 함수
SEQUENCE 함수는 엑셀에서 연속된 숫자를 배열로 생성할 수 있는 동적 배열 함수입니다. 이 공식의 SEQUENCE(6, 7) 부분은 6행 7열의 42개의 숫자를 생성합니다. 42개의 숫자를 배열로 만들어 주는 이유는 한 달의 날짜를 주차별로 배열하기 위함입니다.
- SEQUENCE(6, 7)는 6행 7열의 배열을 생성해 달력의 형태를 만듭니다. 예를 들어, 숫자 배열은 1부터 42까지의 숫자가 나열됩니다.
- 하지만 우리는 달력에 단순 숫자가 아니라 날짜를 넣어야 하므로, A2-CHOOSE(WEEKDAY(A2), 0,1,2,3,4,5,6)로 시작 날짜를 조정해 각 달의 첫 번째 일요일부터 달력을 시작하도록 만듭니다.
2. WEEKDAY 함수
WEEKDAY 함수는 특정 날짜가 무슨 요일인지 숫자로 반환해주는 함수입니다. 기본 설정에서 일요일은 1, 토요일은 7로 표시됩니다.
예를 들어, 만약 2022년 1월 1일이 토요일이라면, WEEKDAY(DATE(2024,1,1))의 결과는 7이 됩니다.
이 함수를 사용하는 이유는 달력의 첫 번째 날짜가 무슨 요일인지 파악하여, 달력의 첫 번째 칸에 들어갈 날짜를 결정하기 위해서입니다. 첫날이 일요일이 아닌 경우, 해당 월의 첫째 날 앞의 날짜들을 지난 달의 날짜로 채워야 하기 때문에, 이 정보를 바탕으로 '얼마나 전으로 돌아가야 하는지' 계산하게 됩니다.
3. CHOOSE 함수
CHOOSE 함수는 여러 값 중에서 하나를 선택할 때 사용하는 함수입니다. 이 공식에서는 WEEKDAY 함수의 결과값을 기반으로, 달력의 첫 날짜를 조정하는 데 사용됩니다.
- CHOOSE(WEEKDAY(A2), 0, 1, 2, 3, 4, 5, 6) 이 부분은, 만약 첫 번째 날이 일요일이라면 0을 반환하고, 첫 번째 날이 월요일이라면 1, 화요일이라면 2를 반환합니다.
- 이렇게 반환된 값은 해당 월의 첫날이 일요일이 아닌 경우 며칠 전으로 돌아가야 하는지를 계산하는 데 사용됩니다. 예를 들어, 첫째 날이 화요일이면 2일을 빼서 그 주의 일요일부터 시작하는 달력을 만듭니다.
4. A2 - CHOOSE(WEEKDAY(A2), 0, 1, 2, 3, 4, 5, 6)
이 부분은 달력의 첫날이 일요일이 아닌 경우, 일요일로 '롤백'하는 역할을 합니다. 만약 달력의 첫날이 화요일이라면, 2일을 빼서 그 주의 일요일부터 달력이 시작되도록 조정하는 것입니다. 예를 들어, 2022년 1월 1일은 토요일이므로, start - 6이 되어 2021년 12월 26일(일요일)부터 달력이 시작됩니다.
마지막으로 셀 서식에서 사용자 서식으로 형식을 d 로 일자로 변경을 해주시면 달력은 완성이 됩니다.
이제 필요에 따라서 색을 넣어 주시거나 하시면 되고, 조건부 서식을 이용을 해서 조금더 다양하게 휴일등을 설정을 해서 활용을 할수가 있습니다.
이번 글에서는 엑셀에서 함수 한줄로 만들어 볼수 있는 다이나믹 달력을 만드는 방법에 대해서 알아 보았습니다. 엑셀 문서에 달력을 넣어서 활용을 하고 싶으신 분들은 참고 하셔서 이용해 보시기 바랍니다. 생각보다 아주 간단한 방법으로 달력을 만들수가 있습니다. 사용된 함수들도 어렵지 않은 함수들이라서 이해 하시는데 크게 어려움은 없으실 거라고 생각이 됩니다.
여기까지 포스팅을 보아 주셔서 감사합니다. 도움이 되셨다면 하단에 있는 구독 & 공감 많이 부탁 드립니다.