- 최초 작성일: 2004-12-16
- 최종 수정일: 2026-09-26
- 조회수: 21 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 엄청간단 달력만들기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
때가 때인 만큼 이번 시간에는 달력을 한번 만들어 볼까 합니다.
Q1. 때가 때라니… 무슨 때를 의미하는 것인가요?
A1. 이제 12월로 접어든 지도 꽤 지났고 조금 더 있으면 연말이지요?
해서 남은 한해 계획대로 마무리 잘 하시라는 의미입니다.
Q2. 달력만들기라면… 과거에도 수차례 한 것으로 기억하는데 또다시 하는
이유는 무엇인가요?
A2. 그렇습니다! X0310, X0315 등의 강좌에서 만년달력 만들기에 대해 소개해
드린 바 있습니다. 하지만 이번 시간에는 보다 간단한 방법으로(제목 그대로
초간단!) 달력을 만드는 방법에 대해 소개해 드리겠다는 것입니다.
VB0179 강좌 시간에 소개해 드린 Power Tools를 설치하셨다면 Power Tools의
'날짜 및 시간-월간 일정표' 메뉴를 사용해도 달력을 만들 수 있습니다.
엄청간단 달력만들기
핵심 요약
- 배열 수식으로 달력의 요일 제목을 만듭니다.
- 6행×7열 영역에 날짜를 계산하는 배열 수식을 입력합니다.
- 날짜와 글꼴 서식을 조정하여 달력을 완성합니다.
하여튼 이번 시간은 강좌 제목에 '엄청간단'이라고 한 것으로 보아... 복잡하면 혼 날(?) 것 같은 분위기로군요. ^^
달력의 타이틀 만들기
(1) 달력의 타이틀이 될 부분을 범위로 지정하고 아래와 같은 수식을 입력한 다음,
Ctrl + Shift + Enter 키를 함께 눌러 마무리합니다(즉 배열 수식이지요?).
=TEXT(COLUMN(),"aaa")(2) 서식을 적당히 변경합니다. 그런 다음, 날짜가 들어갈 영역을 범위로 지정합니다. 범위의 크기는 그림과 같이 6행 X 7열로 합니다.
날짜 영역 만들기
(3) 이 상태에서 다음과 같은 수식을 입력하고 Ctrl + Shift + Enter 키를 함께 누릅니다.
이 수식은 존 아저씨(John Walkenbach)가 작성한 것입니다. 무지하게 복잡해 보이지요? 그렇다고 우리가 잘 모르는 생소한 함수도 없는데 말입니다.
=IF(MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1))<>MONTH(DATE(YEAR(NOW()),MONTH(NOW()),1)-
(WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),"",
DATE(YEAR(NOW()),MONTH(NOW()),1)-(WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),1))-1)
+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)
(4) (3) 단계의 결과로 나타난 값을 그림처럼 날짜 서식으로 지정하고 글자의 서식을 적당히 수정하면 달력이 완성됩니다.
엄청간단… 어쩌구 저쩌구… 했는데 공포의 수식 때문에 스트레스만 더 받은 분이 없으신가 모르겠습니다. 괜히 수식 때문에 스트레스받지 마시고 오늘은 그냥 수식을 복사해서 사용하세요. ^^
오늘은 여기까지…
마치며
배열 수식을 이용해 달력의 제목과 날짜 영역을 자동으로 구성하는 과정을 살펴보았습니다. 수식이 복잡하더라도 원리를 이해하고 필요한 경우 복사해 활용할 수 있습니다.