본문 바로가기
Excel 함수

엑셀 DATEDIF 함수로 날짜 계산, 기념일 계산 쉽게 하는 방법

by ko-link 2023. 12. 28.

엑셀을 쓰다보면 특정 날짜부터 지금까지 몇 일이 지난거지? 몇 개월이 지난거지? 라고 계산을 해봐야 할 경우가 있다.

미운우리새끼 같은 프로그램 보면 "우리 아들 생후 421개월" 이런 식으로 표현할 때가 있는데,

내가 몇 살인건 쉽게 인지하지만 내가 태어난지 몇 개월이나 지났지? 몇 일이나 지났지? 가 궁금할 수도 있을 것이다.

아니면 애인과의 기념일, 결혼기념일 등 기념일을 쉽게 계산하는 것도 요즘엔 앱으로도 나와 관리를 해주기도 하지만,

엑셀에서도 이런 기념일 계산을 쉽게 할 수 있다.

엑셀 DATEDIF 함수로 어떻게 날짜 계산으로 하고 기념일 계산을 쉽게 하는지 알아보자!

 

[목차여기]

 

엑셀 DATEDIF 함수 

엑셀 DATEDIF 함수는 두 날짜 사이의 간격, 차이를 일, 월, 연도 등으로 계산해주는 함수이다.

이 함수는 원래 LOTUS 1-2-3에서 사용하던 함수로 호환성을 위해 엑셀에서 추가로 지원되는 함수이다.

그래서 다른 엑셀 함수들을 보면 함수만 입력하면 설명과 함께 어떤 인자를 입력해야 하는지에 대한 팁이 같이 나오는데,

DATEDIF 함수는 그런 설명과 인수가 표시되지 않기 때문에 무슨 값을 어디에, 어떻게 넣어야 하는지 어려울 수 있다.

값을 알맞게 잘 넣으면 결과는 제대로 반환되니 아래 설명과 예시를 보고 잘 따라해보자!

 

       =DATEDIF(시작일, 종료일, 단위)

 

  • 시작일과 종료일 : 시작날짜와 종료날짜, 두 날짜를 기준으로 차이를 구하게 된다.
  • 단위 : 기간사이를 계산할 단위, 연/월/일 단위로 계산할 수 있다.  

단위 목록은 아래와 같다.

단위 설명
"Y" 연도 기준으로 차이 계산
"M" 월 기준으로 차이 계산
"D" 일 기준으로 차이 계산
"MD" 월과 연도를 무시한 순수 일 차이만을 계산
ex) 2023-11-25 와 2023-12-28 의 "MD" 계산은 3으로 반환
많은 오류가 있어서 사용하지 않는 것을 권장
"YM" 일과 연도를 무시한 순수 개월 차이만을 계산
ex) 2023-11-25 와 2023-12-28 의 "YM" 계산은 1으로 반환
"YD" 연도를 무시한 월과 일의 날짜 차이만을 계산
ex) 2022-11-25와 2023-12-28 의 "YD" 계산은 33으로 반환 

 

연도 같은 경우에는 8개월이나 10개월처럼 1년을 꽉 채우지 못한 경우에는 차이를 0으로 계산한다.

정확한 기간, 예를들어 0.5년, 0.7년과 같이 계산을 하고 싶다면 YEARFRAC 함수를 사용해야 한다.

쉽게 이해하려면 DATEDIF 함수의 차이는 만 나이 계산이라고 생각하면 편하다.

 

만약 시작날짜가 종료날짜보다 더 최근인 경우,

예를들어 시작날짜가 "2023-12-28" 이고 종료날짜가 "2023-10-15" 라고 한다면,

#NUM! 이라는 오류를 반환하게 된다.  

 

DATEDIF 함수 예제

예제를 통해 쉽게 이해해보자!

생일을 기준으로 오늘 날짜와의 차이를 연/월/일로 각각 계산하여,

만 나이와 태어난지 몇 개월인지, 태어난지 몇 일이나 지났는지를 계산해보자!

이 방법을 활용하면 기념일 계산 등 다른 날짜계산에도 활용할 수 있을 것이다.  

 

만 나이 구하기

 

엑셀 DATEDIF 함수 예제
엑셀 DATEDIF 함수 만나이 구하는 예제

 

이름과 생일이 있고 오늘 날짜 기준으로 만 나이가 어떻게 되는지를 구하고 싶다.

시작날짜는 생일이 있는 B 컬럼이 될 것이고, 종료날짜는 오늘 날짜를 직접 입력해주었다.

오늘 날짜를 일일히 입력하기 싫다면, 다른 셀에 =TODAY() 라고 하고 값을 참조해도 된다.

=TODAY()는 오늘 날짜를 반환해주는 함수이다.

 

마지막 단위는 연도를 기준으로 계산하기 때문에 "Y" 라고 표기하였다.

단위는 꼭 쌍따옴표를 넣어주어야 하는 점! 유의하도록 하자.

쌍따옴표를 넣지 않으면 #NAME? 이라는 오류가 뜰 것이다.   

 

=DATEDIF(B3, "2023-12-28", "Y")

 

생일은 1990년 9월 8일이고 오늘 날짜로 계산하니 만 33세로 반환되었다.

해당 셀을 복사 후 수식 붙여넣기 하면 아래까지 모두 자동으로 계산할 수 있다.

만약 종료날짜인 오늘 날짜를 특정 셀을 참조하도록 했다면 반드시 F4를 통해 절대값으로 만들어줘야 고정된 셀을 계속 참조할 수 있다.

 

개월 수 구하기

시작날짜와 종료날짜 사이의 개월 수 차이를 구하는 것이다.

개월 수 역시 꽉찬 날짜를 기준으로 계산해준다.

예를들어, 2023년 1월 1일과 2023년 2월 15일 간 개월 수 차이는 어찌보면 한 달 반, 1.5개월이라고 볼 수 있지만,

DATEDIF 함수에서는 2개월까지 꽉 차지 않았기 때문에 1개월이라고 결과값을 반환한다.

만 나이 개념과 마찬가지라고 생각하면 된다.

엑셀 DATEDIF 함수로 개월 수 구하기
개월 수 구하기 예제

 

시작날짜와 종료날짜는 만 나이 구하는 예제와 동일하고,

단위만 "M" 으로 바꿔주면 개월 수 차이를 구할 수 있다.

 

=DATEDIF(B3, "2023-12-28", "M")  

 

1990년 9월 8일 생일인 홍길동은 오늘로써 태어난지 399개월이 되었다.

 

일수 구하기/기념일 계산하기  

아기가 태어나서 하루하루 태어난 날을 계산한다던지,

결혼기념일이나 사귄 날을 기준으로 몇 일이나 지났는지를 계산한다던지 할 때가 있을 것이다.

기념일 계산해주는 어플이 있으니 어플을 활용하면 더욱 편하긴 하지만,

엑셀로도 이런 계산을 할 수 있다.

엑셀 DATEDIF 함수로 기념일 구하기 예제
일수 구하기 예제

 

마찬가지로 시작날짜와 종료날짜 입력 후 단위에 "D" 를 입력해주면 날짜 간 일수의 차이를 구할 수 있다.

이 함수를 활용하면 100일, 1000일 같은 기념일도 구할 수 있을 것이다.

나이로 예제를 계속 만들어봤으니 그대로 태어난지 몇 일이나 되었는지를 구해보자면,

 

=DATEDIF(B3, "2023-12-28", "D")  

 

이렇게 수식을 입력하여 태어난지 몇 일이나 되었는지를 구해보았다.

1990년 9월 8일 생인 홍길동은 오늘로 태어난지 12,164일이나 되었다!

 

이렇게 DATEDIF 함수를 활용하여 두 날짜 사이의 연도/월/일 차이를 계산하는 방법을 알아보았다.

DATEDIF 함수는 설명이나 인수가 표현되지 않기 때문에 더욱이 사용하기 어려울 수 있으므로 위 내용을 참고하여 잘 써먹어 보자!