두 날짜가 있을 때
몇 일의 차이가 있는가?
몇 개월의 차이가 있는가?
몇 년의 차이가 있는가?
이런 두 날짜의 차이를
엑셀에서 계산해야 한다면
DATEDIF 함수를 쓰시면 됩니다

이번 포스팅에서는
DATEDIF 함수의 사용법을
자세히 이야기 해보려고 합니다
포스팅에서 설명한 내용은
모두 예제 파일에 들어가 있습니다
글을 봐서 잘 이해가 안 된다면
예제 파일을 다운로드 해서
직접 수식을 살펴보거나
값이나 수식을 바꿔보면
이해하는데 도움이 되실껍니다
<엑셀 일수계산 - DATEDIF>
DATEDIF 함수의 사용법은
=DATEDIF(시작일, 종료일, 단위) 입니다
단위에는 주로 3개의 옵션이
사용되는데
Y는 YEAR의 약자로 연도로
M은 MONTH의 약자로 월로
D는 DAY의 약자로 일로
표기를 합니다
말로 들으니 이해가 어렵죠?
실제 예제를 봅시다

2020년 3월 8일
2024년 1월 1일
이렇게 두 날짜가 있습니다
두 날짜의 연도 수 차이가 궁금하다면
=DATEDIF(날짜1, 날짜2, "Y")
개월 수 차이가 궁금하다면
=DATEDIF(날짜1, 날짜2, "M")
일 수 차이가 궁금하다면
=DATEDIF(날짜1, 날짜2, "D")
이렇게 하면 됩니다
년으로 치면 3년
개월로 치면 45개월
일로 치면 1394일의 차이가 나네요
Q. 결과가 이상하게 나와요!
A. 서식 때문입니다
DATEDIF 함수를 사용해서
제대로 계산을 했음에도
결과가 이상한 경우가 있습니다
예를 들어서 위에 나온 수식을
그대로 입력을 해서 3이 나와야 하는데
1900-01-03 이 나오는 경우가 있죠

이렇게 되는 이유는
서식의 설정이 잘못되어 있기 때문입니다
엑셀에서의 숫자는
여러가지 의미를 가집니다
예를 들어서 1 은
숫자로서 1 이기도 하지만
기간으로서는 하루를 의미하고
날짜로서는 1900년 1월 1일을 의미합니다

그래서 날짜1의
2020년 3월 8일에 +1을 하면
2020년 3월 9일이 되고

빈 칸에 숫자 1을 적고
셀 서식 항목으로 들어가서
날짜로 서식을 변경하면
1900년 1월 1일로 변환이 됩니다
그러니까 어떻게 표기 할 것인가? 에 따라서
다르게 보이는데
어떻게 표기 할 것인지 정하는 것을
셀 서식 이라고 합니다

3년이 차이가 나기 때문에
3 이라는 값이 나와야 하는데
1900-01-03이 나온 셀을 선택하고
마우스 우클릭을 해서
셀 서식으로 들어가서 보면
범주가 날짜로 되어있을텐데
이 범주를 숫자로 변경하면
정상적으로 3으로 나옵니다
<엑셀 일수계산 3. 년, 월, 일 붙이기>
계산 된 결과 값에
년, 개월, 일 같은 단위를 붙이려면
&"글자" 를 사용하면 됩니다

예를 들어서 &"년" 을 붙이면
계산의 결과 뒤에 년을 표기합니다
결과 값이 3이라면
3년으로 나오죠
같은 방식으로
개월, 일을 표시해주면 됩니다
Q. 합쳐서 표시 할 순 없나요?
가능합니다
날짜1 2020년 3월 8일에서
날짜2 2024년 1월 1일까지
기간은 총 3년 9개월 24일 입니다
이 기간을 년으로 표시하면 약 3년
개월로 표기하면 약 45개월
일로 표시하면 1394일 이었죠
3년 9개월 24일로 표시를 하고 싶다면
DATEDIF의 요소 중에
YM과 MD를 알아야 합니다

우선 연도의 차이는
기존과 동일하게 "Y"를 사용합니다
"YM"은 Y의 연도를 빼고
남은 기간의 개월 수 입니다
45개월에서
3년에 해당하는 36개월을 빼면
9개월이 남죠
"MD"는 연도와 개월을 빼고
남은 기간의 일 수 입니다
총 1394일 중에서
3년인 1095일을 빼고
(365일 X 3년 = 1095)
남은 299일 중에서
9개월에 해당하는 275일을 빼면
24일이 남습니다
Q 한 줄에 표시되도록 하려면요?
수식을 한 셀에 전부 적으면 됩니다

각 수식을 &으로 연결해주면
복합 표기에 나오는 것 처럼
한 셀에 나오도록 할 수 있습니다
처음보면 복잡하게 보이지만
익숙해지면 크게 어렵지는 않습니다