배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Excel 버전:   공통
검색어:   달력
제목:   간단한 만년 달력 만들기
     
 

New Page 2
  STEP> 따라하기

새해를 맞이하여 간단하게 만들 수 있는 달력을 만들어 볼까 합니다.
만년 달력을 만드는 데는 단순하게 날짜만 표시되는 것부터 음력,공휴일등을 표시할 수 있도록 하는 것 등 아주 다양하게 만들어 진 것들이 있습니다

이번 예제는 제목 그대로 간단한 방법으로 만드는 달력입니다.

<1> 아래의 그림처럼 B2:E2 범위에 [년월]을 입력할 수 있도록 만듭니다.

<2> A4셀에 수식을 =text(column(a1),"aaa") 입력하신 후 B4:G4까지 해당수식을 복사하면 아래의 그림처럼 해당 셀에 요일이 표시됩니다.

<3> A5셀에 아래와 같은 수식을 입력하세요.
=IF(OR((ROW(A1)-1)*7+COLUMN(A1)-WEEKDAY(DATE($B$2,$D$2,1),2)<=0,
(ROW(A1)-1)*7+COLUMN(A1)-WEEKDAY(DATE($B$2,$D$2,1),2)>DAY(DATE($B$2,$D$2+1,0))),"",
(ROW(A1)-1)*7+COLUMN(A1)-WEEKDAY(DATE($B$2,$D$2,1),2))

수식이 너무 길고 많이 복잡한 것처럼 보이지만 실제 모르는 함수는 없어 보이네요?

수식을 분리해서 해석해 보겠습니다.

1. IF 와 OR 함수를 사용하여 표시하려는 월에 해당되는 날짜를 표시하기 위한 조건입니다.
2. OR함수는 월의 1일 이전과 말일 이후의 날짜가 표시 되지 않도록 하기 위해 사용되었습니다.
3. (ROW(A1)-1)*7+COLUMN(A1): 행과 열의 값을 가져와서 첫 셀부터 순서대로 1,2,3,…값으로 됩니다.
4. WEEKDAY(DATE($B$2,$D$2,1),2) : 해당년 월의 1일에 해당하는 요일의 값을 구합니다.
WEEKDAY함수의 return_type 값을 2로 지정하였기 때문에 결과값은 1(월요일)~7(일요일)을 의미합니다.
5. DAY(DATE($B$2,$D$2+1,0)) : 해당월의 마지막 날짜의 값을 구합니다.
이렇게 분리되어 해석된 수식을 응용하여 사용하시면 됩니다.

간단하다고 했는데 수식 때문에 엄청 스트레스 받으시면 오늘은 그냥 수식을 복사하셔서 사용하시고 다음에 천천히 수식을 살펴보세요. ^^*

<4> A5셀에 입력한 수식을 A5:G10까지 복사하시고 원하시는 서식을 넣으시면 됩니다.

<5> 이제 만년달력이 만들어 졌네요. ^^* B2셀의 년도 또는 D2셀에 월을 변경해 보세요. 그러면 아래 달력의 날짜들이 알아서 변합니다.