엑셀로 날짜를 계산할대 datedif 함수를 사용하면 소수점 이하의 날짜를 계산할 수 없다. 이번 포스팅에서는 소수점 이하 날짜를 구하는 방법을 알아보자.
1. 엑셀에서 소수점 이하 날짜 계산하기
1.1 엑셀에서 datedif 함수의 한계
기본적으로 엑셀에서 날짜를 계산하기 위해서는 datedif 함수를 사용한다. 이 함수는 두 날짜 사이의 간격을 년도별, 월별, 날짜별로 구하여 계산 할 수 있다. 그렇다면 이 함수를 이용하여 아래 자료에서 날짜 차이를 날짜별, 년도별로 계산해 보도록 하자.
첫번째로 두 날짜 사이의 차이를 날짜 수 (day)로 구하는 식은 아래와 같다.
=datedif(C4,D4,”D”)
위식을 이용해 날짜 차이를 구하면 다음과 같은 결과를 구할 수 있다.
그런데 이 자료를 날짜(day)가 아닌 년도(year)로 구한다고 해보자. 이 날짜 차이를 구하는 함수는 다음과 같다.
=datedif(C4,D4,”Y”)
위 식을 이용해 구한 년도 차이는 다음과 같다.
위 식을 보면 D 품목의 경우 일수(day)로 계산하였을때는 336일이 나왔으나 년도(year)로 계산했을 때는 0년으로 나오는 것을 확인할 수 있다. 즉, datedif 함수의 경우 변수에서 소수점 이하의 수치는 ‘버림’으로 계산 하기 때문에 좀더 정밀한 결과치를 표현하기에는 어려운 측면이 있다.
그래서 이번 포스팅에서는 소수점 이하의 년도를 계산할 수 있는 함수인 yearfrac 함수에 대해 소개하려고 한다.
1.2 엑셀의 yearfrac 함수 소개
위에서 예시로 든 자료를 yearfrac으로 계산 결과를 보자. 아래 결과는 엑셀에서 yearfrac을 이용해 계산한 결과로 datedif 함수와 달리 소수점 이하까지 년도가 표기된 것을 확인할 수 있다.
이와 같이 yearfrac 함수는 datedif 함수보다 좀더 자세한 년도 계산이 가능하다는 장점이 있다. 그렇다면 이제 yearfrac 함수를 실제로 사용하는 방법에 대해 알아보도록 하자.
2. 엑셀에서 Yearfrac 함수 적용하기
2.1 yearfrac 함수를 이용하여 소수점 포함 년도 계산
yearfrac 함수를 이용하여 소수점 이하의 년도를 구하는 방법에 대해 알아보자.
yearfrac 함수의 사용방법은 다음과 같다.
yearfrac 함수 사용 방법 : =yearfrac(날짜1,날짜2)
yearfrac 함수 적용 예시 : =yearfrac(C4,D4)
* 단 날짜1은 날짜2보다 앞선 날짜여야 함
라는 식으로 계산할 수 있다. 아래 실제 예시를 보도록 하자.
위와 같이 적용하면 입고 날짜에서 출고 날짜 까지 걸린 기간을 소수점 이하 년도로 계산할 수 있다.
2.2 yearfrac 함수를 이용하여 소수점이하 개월 수 구하기
이 yearfrac 함수를 활용하면 소수점 이하의 년도 뿐만 아니라 소수점 이하 개월수도 계산이 가능하다. 개월수를 계산하기 위해서는 yearfrac으로 계산한 결과에 12를 곱해주면 된다. 이 과정을 아래 식을 통해 확인해 보자.
yearfrac 함수를 이용한 개월 수 계산 : =yearfrac(날짜1,날짜2)*12
yearfrac 함수를 이용한 개술 수 계산 예시 : =yearfrac(C4,D4)*12
위 식을 이용해 실제 개월수를 계산하는 과정의 실제 예시를 확인해 보자.
위와 같이 계산을 하면 소수점을 포함한 개월수를 계산하는 것이 가능하다.
3. 엑셀에서 datedif 함수와 yearfrac함수의 차이 비교
엑셀에서 datedif 함수와 yearfrac 함수는 모두 날짜를 계산한다는 측면에서는 동일하지만 다음과 같은 차이가 있다.
- datedif 함수는 소수점 이하를 ‘버림’ 처리 한다
- yearfrac 함수는 소수점 이하를 표시한다
- datedif 함수는 변수를 통해 년도, 개월수, 날짜수 차이를 지정할 수 있다
- yearfrac 함수는 ‘년도’ 만을 표시하며, 개월수 계산은 12를 곱해서 계산한다
그래서 날짜 계산을 위해서는 위와 같은 두 함수의 차이를 이해하고 상황에 따른 함수를 선택하여 사용하면 효율적인 사용이 가능할 것으로 보인다.