티스토리 뷰

컴활2급 실기 함수 입니다. 엑셀의 날짜와 시간 함수, EDATE 함수 입니다.
이 엑셀 함수는 날짜의 기한이나 만료일을 알아낼 때 유용한 함수 입니다.

설명 : EDATE 함수는 start_date (기준일) 인수를 기준으로 이후 혹은 이전 months (개월수) 를 추가,감소하여 결과로 반환합니다. 결과는 날짜를 나타내는 일련번호 입니다.
구문 : EDATE (start_date, months)
인수 :
    start_date : 개월수 산정을 위한 초기날짜, 시작일 입니다. 날짜를 포함하는 셀을 참조하거나 날짜형식을 결과로 반환하는 함수를 사용합니다.
    months :  start_date 에서 추가하거나 감소할 개월수 입니다. 수치값을 사용합니다. 이 수치가 소수이면 정수부만 취합니다.

노트0 : EDATE 함수의 결과는 표시형식 일반에서는 일련번호로 보입니다. 날짜 형식으로 수정해 주셔야 날짜로 표시됩니다.

노트1 : Microsoft 에서는 start_date 인수로 날짜를 직접입력하지 않도록 충고합니다. 날짜를 텍스트로 직접입력한다면 이를 문자열로 인식하여 #VALUE! 오류를 유발 할 수 있습니다. 컴퓨터에 따라 날짜 해석 방법이 다를 수 있기 때문입니다.
노트2 : #VALUE! 오류는 수치를 요하는 인수에 비수치가 사용되었을 때 생기는 오류입니다. 노트1의 경우 오류가 생긴다면 날짜를 요구하는 start_date 가 문자열로 인식되기에 생기는 것입니다.


[그림1] 컴활2급 실기 날짜와 시간 함수 EDATE 함수[그림1] 컴활2급 실기 날짜와 시간 함수 EDATE 함수


[그림1] 을 참고 하여 아래의 사용 예제를 살펴봅니다.


사용 예제1 : =EDATE(A3, 2)
사용 결과1 : 36991
A3 셀의 값이 2001-02-10 라면 B3 에 입력한 위의 예제1은 위와 같이 날짜를 나타내는 일련번호를 반환합니다. 이 표시형식을 날짜형식으로 변환한다면 2001-04-10 입니다. 이는 A3 셀의 날짜에서 2달 뒤의 날짜가 됩니다.

사용 예제2 : =EDATE(A4, -2)
사용 결과2 : 2000-12-10
A4 셀의 값이 역시 2001-02-10 라면 B4 에 입력한 위의 예제2는 위의 결과를 반환합니다. 셀이 날짜형식으로 서식지정 되어 있지 않다면 물론 날짜 일련번호가 보일 것입니다. 이 결과는 날짜 서식으로 지정한 결과 입니다. 사용 예제1과 다른 점을 살펴 봅니다. EDATE 함수의 두번째 인수값, months 가 음수로 지정되어 있습니다. 이렇게 음수로 지정된 달수는 start_date 를 기준으로 그 이전의 달수 를 의미 합니다. 결국 A4 셀의 날짜로 부터 2달 이전의 날짜를 말하는 것입니다.

사용 예제3 : =EDATE(A5, 1)
사용 결과3 : 2015-02-28
A5 셀에 2015-01-31 이 입력되어 있습니다. B5 셀에서 한달 뒤를 묻고 있는 예제의 결과는 한달을 날수로 계산하여 그 결과를 산출하지 않습니다. 달수로 한달 뒤의 날이 결과로 반환되어 2015-02-28 이 결과로 표시됩니다.

사용 예제4 : =EDATE(A6, 1)
사용 결과4 : 2016-02-29
A6 셀에 2016-01-31 이 입력되어 있습니다. B6 셀의 함수는 한달 뒤의 날짜를 묻고 있습니다. 이는 위의 예제3 과 start_date 의 년도만 다르고 모두 동일합니다. 결과를 보면 위와 일자가 다릅니다. 2015년도는 28일이 , 2016년은 29일 이 2월의 마지막날이 되지요. 이렇게 윤년까지를 계산할 수 있습니다.
(이 수식은 1개월 뒤, 해당 월의 마지막 날을 찾은 것이 아닙니다. start_date 가 1월의 마지막 날이기에 2월의 마지막 날이 결과로 반환된 것입니다. 기억하십시오. 이를 잘못 기억하시면 이후 배우게 될 EOMONTH 함수와 차이를 찾을 수 없습니다.)


노트3 : 사용 예제3과 사용 예제4 는 EDATE 함수가 윤년을 계산하여 날짜를 반환한다는 것과 날수로 개월을 가감하지 않는다는 것, 마지막 날을 찾는 함수가 아니라는 것 을 기억하시라고 보여드린 것입니다.


사용 예제5 : =EDATE(A7, -1)
사용 결과5 : #NUM!
A7 셀에 1900-01-30 이 입력되어 있습니다. B7 셀에 위의 함수식이 입력되어 있다면 결과는 위와 같이 오류입니다. 오류의 원인은 start_date 인수의 값이 1900-01-30 인데 month 인수가 -1 이기에 1달 이전을 묻고 있습니다. 생각해 보면 결과 로는 1899-12-30 이 될 것입니다. 하지만 엑셀 에서 사용하는 날짜일련번호는 1900년 1월 1일 을 기준으로 경과한 날수를 말합니다. 그런데 1899년도의 결과 값을 날짜일련번호로는 표시할수가 없지요. 하여 잘못된 숫자값이 포함되었을때 발생하는 오류인 #NUM! 가 표시됩니다.

사용 예제6 : =EDATE(A8, 24)
사용 결과6 : 2012-07-31
A8 셀에 2010-07-31 이 입력되어 있습니다. 이번에는 EDATE 함수의 두번째 인수인 months 값으로 24 , 즉 24개월 이 더해지겠지요. 첫번째 인수 A8, start_date 에서 24 개월이 더해 지면 결과는 2년 뒤인 2012-07-31 이 됩니다.

기출 예제1 : 2015년 3월 컴활2급 필기 시험에 출제된 문제 입니다.

39. 다음 중 각 수식에 대한 결과가 옳지 않은 것은?

① =MONTH(EDATE("2015-3-20", 2)) → 5
② =EDATE("2015-3-20", 3) → 2015-06-20
③ =EOMONTH("2015-3-20", 2) → 2015-05-20
④ =EDATE("2015-3-20", -3) → 2014-12-20
기출 풀이1: 3번
① MONTH 함수와 EDATE 함수가 중첩되어 있습니다. 이럴때는 일단 안쪽의 함수의 결과를 먼저 확인하여야 합니다.  EDATE("2015-3-20", 2) 의 결과는 2015-3-20 을 start_date 로 보고 2개월 뒤의 날짜를 결과로 반환합니다. 2015-5-20 이 되겠지요. 이 날짜에서 MONTH 함수로 월 부분을 추출하기에 5 가 결과로 반환됩니다.

② EDATE 함수로 2015-3-20 을 기준으로 3개월 뒤의 날짜를 반환합니다. 결과는 2015-6-20 이 됩니다.

③ 자, 처음 보는 함수이지요. EOMONTH 함수는 EDATE 함수와 인수의 개수, 형식, 사용법이 같습니다. 단, 이 함수는 start_date 의 날짜를 기준으로 months 를 가감한 달의 마지막 날의 날짜를 반환한다는 것입니다.  EDATE 함수가 해당일의 날짜를 반환 하는 것에 비해 EOMONTH 함수는 마지막 날을 반환한다는 것을 기억해 주세요. 이후 이 EOMONTH 함수도 함께 공부할 것입니다.
그렇다면 수식은 2015-3-20 에서 2개월 뒤의 달의 마지막 날이 결과로 반환됩니다. 2015-5-31 이 됩니다. 하여 이 수식의 결과가 옳지 않습니다. 보기로 제시한 결과는 EDATE 함수식의 결과입니다.

④ 2015-3-20 을 시작일로 -3 , 음수가 months 인수 로 사용되었습니다. 음수는 개월수를 빼겠다는 것이지요. 3개월 이전의 날짜이기에 2014-12-20 이 결과로 옳습니다.

노트4 : 위 기출문제 보기에서는 EDATE 의 start_date 인수가 직접 입력되어 있습니다. 이렇게 텍스트를 직접입력한다면 오류가 생길 수 있다고 하였습니다. 시험이라 간단히 사용한 것 같습니다.


컴퓨터활용능력 실기의 기출문제를 구하기 힘들어 기출예제를 찾기가 힘드네요. 컴활2급 필기 기출문제이지만 EDATE 함수를 익히는데 많은 도움이 될듯하여 올려드립니다.

이상이 2012년 컴활2급 실기 출제기준에 추가된 엑셀의 날짜시간 함수, EDATE 함수 였습니다.
반드시 기억하셔야 할 것은 이 EDATE 함수의 두번째 인수는 개월수 라는 것입니다. 또하나, 이 두번째 인수는 음수가 사용될수도 있다는 것입니다.


마늘빵



댓글