EXCEL 다루기

[ 응용 ] 엑셀 날짜에서 윤년(Leap Year) 확인하기, 엑셀 윤년 찾기

카루루1007 2024. 1. 2. 10:10
728x90
반응형

[ 들어가며 ]

 

윤년2월이 29일까지 있는 해를 말합니다.

보통은 2월이 28일까지 있지만,

매년 2월이 28일 이라면

오차가 생긴다고 합니다.

 

그렇기 때문에 특정한 년도에는

2월이 29일이 되게 되는데

이러한 연도를 윤년이라고 한다고 합니다.

 

2월이 28일까지 있는 연도는  평년으로 하겠습니다.

 

윤년을 확인하는 방법은 다음과 같다고 합니다.

① 연수가 4로 나누어 떨어지는 해는 우선 윤년으로 한다.

② 그 중에서 100으로 나누어 떨어진는 해를 평년으로 한다.

③ 다만, 400으로 나누어 떨어지는 연도는 다시 윤년으로 정한다.

 

이제 엑셀에서 어떻게 윤년을 확인하는 지 알아보겠습니다.

 

[ YEAR, MONTH, DATE 함수를 사용하여 윤년 확인하기 ]

먼저 아래 그림과 같이 날짜 데이터가 있다고

가정하겠습니다.

  

윤년과 평년을 확인하는 수식은 다음과 같습니다.

 

이제 위 수식이 어떻게 작동하는 지 알아보겠습니다.

 

먼저 YEAR() 함수를 통해

해당 셀에 입력된 날짜의

연도를 불러옵니다.

 

위 그림에서는 

A3 셀에 2000-01-01 이라는 날짜가 입력되어 있으므로

YEAR(A3)에 의한 반환값은 2000이 됩니다.

 

그 다음 DATE() 함수MONTH() 함수를 사용하여

해당 연도에 2월 29일이 있는 지 확인을 합니다.

확인하는 방법은 다음과 같습니다.

 

먼저 DATE() 함수는 기본적으로 아래와 같이 사용됩니다.

DATE(연, 월, 일)

DATE(2000, 2, 29) 이렇게 입력하면

날짜 형식으로 2000-02-29를 반환합니다. 

 

여기서 중요한 점은

만약 해당 연도에 2월이 28일까지만 있다면,

DATE() 함수는 2000-02-29를 반환하지 않고

2000-03-01을 반환합니다.

 

아래 그림으로 다른 예를 보겠습니다.

 

위 그림을 보면

=DATE(2000, 1, 33)이라는 함수식이 입력이 되어 있습니다.

1월은 31일까지 밖에 없으므로

2000-01-31이 아닌

2000-02-02가 반환이 됩니다.

 

그 다음 MONTH() 함수

입력된 날짜의 월을 반환을 합니다.

 

즉, DATE() 함수로 2월 29일이 없는 해의 날짜를 넣으면

3월 01일을 반환하므로

MONTH 함수를 통해 

반환된 날짜가 2월인지 확인을 하는 것입니다.

[ DATE(YEAR(A3), 2, 29)) = 2 ]

 

그 다음 IF() 함수를 사용

해당 결과가 참이라면 

윤년을 반환하고

거짓이라면

평년을 반환합니다.

반응형

[ 윤년 확인하는 방법을 조건으로 윤년 확인하기 ]

 

앞서 윤년을 확인하는 방법을 설명드렸었습니다.

다시한번 언급하면

다음과 같습니다.

① 연수가 4로 나누어 떨어지는 해는 우선 윤년으로 한다.

② 그 중에서 100으로 나누어 떨어진는 해를 평년으로 한다.

③ 다만, 400으로 나누어 떨어지는 연도는 다시 윤년으로 정한다.

 

이 조건을 그대로 엑셀 함수식에 넣는 방법입니다.

 

수식은 길어서 어려워 보이지만

간단한 수식입니다.

 

OR() 함수조건이 하나라도 참이면 참을 반환하고

AND() 함수모든 조건이 참이어야 참을 반환합니다.

 

즉 위 수식은 앞서 언급했던

윤년을 구하는 조건을 

엑셀 함수식으로 옮겨 놓은 것에 불과합니다.

 

여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.

엑셀 공부하기
VBA 공부하기

728x90
반응형