- 최초 작성일: 2013-12-16
- 최종 수정일: 2026-09-21
- 조회수: 108 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 2014년도 달력 만들기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
일요일 저녁의 단상
혼자 생활하다보니 생활이 참 심플해졌다.
요즘의 나의 하루 일과를 요약해보라면
딱 한 문장으로도 표현할 수 있을 것 같다.
"아침에 출근해서, 일하다가, 퇴근해서, 저녁 먹고, 잤다."
쯤 되겠다.
반면 눈치를 볼 일이 없으니 하고 싶은 게 있으면
시간에 구애받지 않고 마음껏 한다.
한국에 있을 때 일요일 저녁 이 맘때면 애들 공부봐주느라
체력 다 소진하고 나서 개그콘서트 보고 있을 시간이겠지.
하지만 오늘은 이 밤에 갑자기 이 책에 눈이 갔다.
무려 23년 전에 산 책이군.
가만히 생각해보니 나도 참 딱하다.
그 무렵이면 다른 재미난 것도 많았을텐데
뭐한다고 이런 골치아픈(?) 걸 보았던 것일까.
그나저나 낮엔 뭐하다가 이 시간에 이걸 펼쳤으니
오늘 잠은 다 잤군! ㅎㅎ
어느덧 12월도 절반이 넘어가고 있습니다.
정신없이 달려온 한 해를 뒤로 하고 새로운 한 해를 준비해야 할 시기가 되었습니다.
그런 의미에서… 2014년도 달력을 준비해 보았습니다.
달력을 만드는 방법은 수도 없이 많고, 강좌에서 소개한 방법만도 대여섯 가지는 될 듯한데
엑셀의 버전에 따라 만드는 방법이 조금씩 달라지는 부분이 있으므로
이번 시간에는 세 가지 방법을 소개해 드립니다.
엑셀 달력 만들기, 템플릿·배열 수식·VBA 3가지 방법
핵심 요약: 엑셀로 달력을 만드는 세 가지 방법
엑셀 달력은 템플릿 이용, 배열 수식, VBA 세 가지 방법으로 만들 수 있습니다. 배열 수식 방법은 연도와 월만 바꾸면 달력이 자동으로 바뀝니다.
- Microsoft 템플릿: 가장 간단한 방법으로 제공되는 달력 템플릿을 내려받아 사용합니다.
-
배열 수식: 연도(G1)와 월(H1)을 입력하고, B1 셀에
=DATE(G1,H1,1)을 넣은 뒤 B3:H8에 배열 수식을 입력합니다. -
서식: B3:H8 셀에 사용자 지정 서식
d를 지정하면 날짜가 일 숫자만 표시됩니다. - VBA: 버튼을 누르고 년도와 월을 선택하면 1900년 1월부터 9998년 12월까지 월간 달력을 만들 수 있습니다.
방법 1: Microsoft Office 사이트 이용하기
가장 간단한 방법은 아무래도 Microsoft에서 제공하는 템플릿을 이용하는 것입니다.
아래 링크를 클릭하고 적당한 것을 내려받아 사용하시면 되겠습니다.
참고: 최신 방법
위 링크는 2013년 당시의 Office Online 주소라 지금은 열리지 않을 수 있습니다. 최근 Excel에서는 '파일 - 새로 만들기'에서 '달력'을 검색해 템플릿을 내려받으면 됩니다. Microsoft의 안내는 엑셀 템플릿으로 달력 만들기 문서를 참고하세요.
엑셀뿐만 아니라 워드나 파워포인트, 퍼블리셔로 만든 것도 있군요.
이 중에서 "월 단위 달력(음력 포함)"을 "강좌 자료실"에 올려 놓을테니
필요한 분은 내려받아 사용하시기 바랍니다(MS Word 버전).
http://www.iExceller.com/MyXls/Bank/Year2014MonthlyCalendar.zip
방법 2: 배열 수식으로 나만의 달력 만들기
Workplace 시트에 있는 것과 같은 달력을 직접 만들 수도 있습니다.
| 2014 January | ||||||
|---|---|---|---|---|---|---|
| SUN | MON | TUE | WED | THU | FRI | SAT |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
(1) B1:E1 셀을 범위로 지정한 후, "홈 - 맞춤 - 병합하고 가운데 맞춤"을 선택합니다.
(2) G1 셀에는 연도를 입력하고, H1 셀에는 월을 입력합니다(유효성 검사 이용).
(3) 입력받은 년, 월 정보를 날짜 형태로 바꾸기 위한 수식을 B1 셀에 작성합니다.
=DATE(G1,H1,1)
참고: 예제의 서식
예제에서 B1 셀의 표시 형식은 yyyy mmmm(예: 2014 January)이고, H1 셀에는 목록 1~12를 선택하는 유효성 검사가 설정되어 있습니다.
(4) B2:H2 셀에 요일을 입력합니다.
(5) B3:H8 셀을 범위로 지정하고 아래의 수식을 복사해서 붙여넣기 합니다.
배열 수식이므로 Ctrl + Shift + Enter 키를 함께 눌러야 합니다.
=IFERROR(IF(MONTH(DATE(YEAR(B1),MONTH(B1),1))<>MONTH(DATE(YEAR(B1),MONTH(B1),1)-(WEEKDAY(DATE(YEAR(B1),MONTH(B1),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),"",DATE(YEAR(B1),MONTH(B1),1)-(WEEKDAY(DATE(YEAR(B1),MONTH(B1),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),"")
주의: 따옴표
원문에는 수식 안의 빈 문자열이 둥근(스마트) 따옴표 ””로 적혀 있었습니다. 그대로 복사하면 #NAME? 오류가 나므로 위 수식에서는 곧은 따옴표 ""로 바로잡았습니다.
지금 단계에서는 이런 과격한(?) 수식을 굳이 이해해야 하는 것은 아니니 안심하세요.
위의 수식도 Exceller가 하나하나 입력한 것이 아니라 인터넷에 있는 것을 가져다가
부분적으로 수정해서 사용하는 것임을 밝히는 바입니다.
(6) B3:H8 셀이 선택된 상태에서 Ctrl + 1 키를 눌러서 "셀 서식" 대화상자를 호출합니다.
(7) "표시 형식 - 범주 - 사용자 지정"을 선택하고, "형식 - d"를 입력하고 "확인"을 클릭합니다.
끝으로, 테두리나 셀 높이 등의 서식을 적당하게 조정하여 마무리 합니다.
방법 3: VBA를 활용한 월간 Calendar 만들기
예제 파일의 '달력 만들기' 버튼을 누른 후 만들고자 하는 년도와 월을 선택해 보시기 바랍니다.
참고로 이 방법은 다른 어떤 방법보다 융통성(?)이 뛰어나서
심지어는 1900년 1월부터 9998년 12월까지 월간 달력을 만들 수 있습니다.
코드에 대해 굳이 이해하시려고 할 필요는 없으며, 그저 결과물을 이용하기만 하면 됩니다.
참고: VBA 달력은 예제 파일에서
'달력 만들기' 버튼은 예제 파일의 VBA 매크로로 동작하므로 이 글에서는 화면을 볼 수 없습니다. 예제 파일의 Sheet1에서 만들어진 달력을 확인할 수 있습니다.
정리 — 달력 만드는 세 가지 방법 비교
| 방법 | 핵심 | 특징 |
|---|---|---|
| 1. Microsoft 템플릿 | 제공되는 달력 템플릿 내려받기 | 가장 간단함 |
| 2. 배열 수식 | G1 연도, H1 월 입력 → =DATE(G1,H1,1) → B3:H8 배열 수식 + 서식 d |
연도와 월만 바꾸면 달력이 자동으로 바뀜 |
| 3. VBA | 버튼을 누르고 년도와 월 선택 | 1900년 1월~9998년 12월 월간 달력 가능 |
자주 묻는 질문 (FAQ)
Q1. 엑셀로 달력을 만드는 방법에는 어떤 것이 있나요?
이 글에서는 세 가지를 소개합니다. 첫째 Microsoft가 제공하는 달력 템플릿을 내려받아 사용하는 방법, 둘째 배열 수식으로 연도와 월을 입력받아 달력이 만들어지게 하는 방법, 셋째 VBA로 만든 버튼에서 년도와 월을 선택해 월간 달력을 만드는 방법입니다.
Q2. 달력용 배열 수식은 어떻게 입력하나요?
달력이 들어갈 B3:H8 셀을 범위로 지정한 뒤 수식을 입력하고 Ctrl + Shift + Enter 키를 함께 눌러야 합니다. 그런 다음 Ctrl + 1 키로 '셀 서식' 대화상자를 열고 '표시 형식 - 사용자 지정'에서 형식을 d로 지정하면 날짜가 일(日) 숫자만 표시됩니다.
Q3. VBA로 만든 달력은 어느 기간까지 만들 수 있나요?
다른 어떤 방법보다 융통성이 뛰어나서 1900년 1월부터 9998년 12월까지 월간 달력을 만들 수 있습니다. 코드를 이해할 필요 없이 결과물을 이용하기만 하면 됩니다.
마치며
오늘은 여기까지…