DATEDIF 함수란?

경과년수, 경과개월수, 경과일수 등을 구할 때 자주 사용하는 함수다.

 

 

 

=DATEDIF(시작일, 종료일, "옵션")

시작일부터 종료일까지 경과일을 옵션에 따라 구한다.

 

옵션 설명

※ 옵션이 'MD', 'YM', 'YD' 일 경우 윈도우 버전에 따라

오류가 나거나 제대로 답이 구해지지 않는 경우가 있다.

 

 

 

 

DATEDIF 함수 활용 예 1

 

연인이 만난지 몇일이 지났는지 구해보자.

=DATEDIF(처음 만난 날짜,TODAY(),"D")

예) =DATEDIF("2012-05-11",TODAY(),"D")

 

*** TODAY()는 시스템의 현재 날짜를 의미한다 ***

 

 

 

 

DATEDIF 함수 활용 예 2

 

직원의 근무년수, 근무개월수, 근무일수와 근속기간을 모두 구하는 식을 구해보자. 

일단 작성일에 '=TODAY()' 식을 입력하여 현재 날짜가 표시되도록 한다.

 

 

 

 

근무년수에 '=DATEDIF(C4,$C$2,"Y")' 식을 입력한다.

시작일은 입사일이고, 종료일은 작성일로 지정한 후

경과년수만 구하기 위해 옵션에 Y를 입력한다.

 

 

 

 

근무개월수에 '=DATEDIF(C4,$C$2,"M")' 식을 입력한다.

경과월을 구하기 위해 옵션에 M 입력한다.

 

 

 

 

근무일수에 '=DATEDIF(C4,$C$2,"D")' 식을 입력한다.

경과일을 구하기 위해 옵션에 D를 입력한다.

 

 

 

 

'근속기간1'에는 경과년/경과월/경과일이 0이 되어도 그대로 표시해보겠다.

 

=DATEDIF(C4,$C$2,"Y")&"년 "&DATEDIF(C4,$C$2,"YM")&"개월 "&DATEDIF(C4,$C$2,"MD")&"일"

 

YM은 1년 미만의 개월수를 표시해주고,

MD는 1개월 미만의 일수를 표시해주는 옵션이다.

*** & 기호는 함수식이나 문자열을 연결하는 연산자다.***

 

 

 

 

'근속기간2'에는 경과년/경과월/경과일이 '0'일 경우 생략해보겠다.

 

=IF(DATEDIF(C4,$C$2,"Y")=0,"",DATEDIF(C4,$C$2,"Y")&"년 ")

&IF(DATEDIF(C4,$C$2,"YM")=0,"",DATEDIF(C4,$C$2,"YM")&"개월 ")

&IF(DATEDIF(C4,$C$2,"MD")=0,"",DATEDIF(C4,$C$2,"MD")&"일")

 

'IF(DATEDIF(C4,$C$2,"Y")=0,"",DATEDIF(C4,$C$2,"Y")&"년 ")' 식의 뜻은???

=> 경과년수가 0이라면 ""(공백)이고, 아니면 경과년수에 '년 '을 붙여 표시해준다.

 

IF 함수에 대해 알고 싶다면 함 보자~!!  엑셀 함수 7 (논리 함수, IF 함수) by Y

 

 

 

 

 

 

 

 

 

Posted by Y&S