엑셀 시트에 날짜 데이터가 많다면 언젠가는 두 날짜 사이의 차이를 계산해야 할 일이 생기기 마련입니다. 예를 들어 부채를 상환하는 데 몇 개월이 걸렸는지, 특정 체중을 감량하는 데 며칠이 걸렸는지 알고 싶을 수도 있죠.
엑셀에서 두 날짜의 차이를 구하는 것 자체는 쉽지만, 어떤 기준으로 계산하느냐에 따라 결과가 달라질 수 있습니다. 예를 들어 2016년 2월 5일과 2016년 1월 15일 사이의 개월 수를 구한다면 답은 0일까요, 1일까요? 두 날짜 사이에 온전한 한 달이 지나지 않았으니 0이라고 보는 사람도 있고, 달이 바뀌었으니 1이라고 보는 사람도 있습니다.
이 글에서는 원하는 계산 방식에 맞게 두 날짜 사이의 일수, 개월 수, 연도 수를 다양한 수식으로 구하는 방법을 소개합니다.
두 날짜 사이의 일수 구하기
가장 간단한 계산은 두 날짜 사이의 일수를 구하는 것입니다. 일수 계산은 결과가 하나로 정해져 있기 때문에 수식마다 답이 달라지는 걱정을 할 필요가 없다는 점이 좋습니다.
아래 예시에서는 A2와 A3 셀에 두 날짜가 입력되어 있으며, 그 차이는 802일입니다. 엑셀에서는 같은 값을 구하는 방법이 언제나 여러 가지인데, 여기서도 몇 가지 수식을 사용해 보겠습니다.

첫 번째 수식은 두 날짜를 단순히 빼는 것(A3 – A2)입니다. 엑셀은 해당 값이 날짜임을 인식해 두 날짜 사이의 일수를 바로 계산해 줍니다. 아주 직관적인 방법이죠. 또한 DAYS 함수를 사용할 수도 있습니다.
=DAYS(A3, A2)
이 함수는 종료 날짜와 시작 날짜, 두 개의 인수를 받습니다. 수식에서 날짜 순서를 바꾸면 음수가 반환됩니다. 마지막으로 DATEDIF 함수도 사용할 수 있는데, 이 함수는 Lotus 1-2-3 시절부터 엑셀에 포함되어 왔지만 공식적으로 지원되는 함수는 아닙니다.
=DATEDIF(A2, A3, "D")
이 수식을 입력하면 엑셀이 필드 등에 대한 자동 완성 제안을 해주지 않는다는 점에 유의하세요. 다행히 DATEDIF 함수의 구문과 지원되는 모든 인수는 Microsoft Office 지원 페이지에서 확인할 수 있습니다.
덤으로, 두 날짜 사이의 평일(영업일) 수를 구하고 싶다면 어떻게 할까요? 이 역시 내장된 함수 덕분에 간단합니다.
=NETWORKDAYS(startDate, endDate)
일수와 평일 수 계산은 충분히 간단하니, 이제 개월 수를 구하는 방법을 살펴보겠습니다.
두 날짜 사이의 개월 수 구하기
가장 까다로운 것이 개월 수 계산입니다. 온전한 한 달이 지났는지를 기준으로 올림할지, 아니면 달이 바뀌었는지만 기준으로 내림할지에 따라 결과가 달라질 수 있기 때문입니다. 엑셀에 MONTHS 함수가 있긴 하지만 이 함수는 연도를 고려하지 않고 월 값만 비교하므로 같은 해 안에 있는 두 달을 비교할 때만 유용합니다.
이 방법은 실용성이 떨어지므로 정확한 결과를 얻을 수 있는 수식을 살펴보겠습니다. Microsoft에서도 관련 수식을 제공하지만, 링크로 이동하기 귀찮은 분들을 위해 아래에 정리해 두었습니다.
올림 - =(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)
내림 - =IF(DAY(LDate)>=DAY(EDate),0,-1)+(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)
두 수식 모두 다소 길고 복잡해 보이지만, 내부 동작까지 이해할 필요는 없습니다. 엑셀에 적용한 모습은 아래와 같습니다.

내림 수식은 수식 표시줄에 전체가 표시되지 않는 경우가 있으므로 셀에서 직접 편집하는 것이 좋습니다. 셀에 입력된 수식을 확인하려면 [수식] 탭을 클릭한 뒤 [수식 표시]를 선택하세요.

그렇다면 현재 예시에 두 수식을 적용한 최종 결과는 어떻게 될까요? 아래를 확인해 보세요.

올림 방식에서는 27개월, 내림 방식에서는 26개월이 나옵니다. 어느 쪽이 맞다고 단정하기보다는 계산 목적에 따라 선택하면 됩니다. 마지막으로 DATEDIF 함수를 사용할 수도 있지만, 이 함수는 온전한 개월 수만 계산하므로 이 예시에서는 26이 반환됩니다.
=DATEDIF(A2, A3, "M")
두 날짜 사이의 연도 수 구하기
개월 수와 마찬가지로 연도 수도 '1년을 365일로 계산할 것인지, 아니면 연도가 바뀌었으면 1년으로 셀 것인지'에 따라 결과가 달라집니다. 두 가지 수식을 각각 사용해 연도 수를 구한 예시를 살펴보겠습니다.

하나는 DATEDIF 함수를, 다른 하나는 YEAR 함수를 사용합니다. 두 날짜의 일수 차이가 802일뿐이므로 DATEDIF는 2년을, YEAR 함수는 3년을 표시합니다.

역시 이것도 선호의 문제이며, 정확히 무엇을 계산하려는지에 따라 달라집니다. 두 방법을 모두 알고 있으면 문제 상황에 맞는 수식을 골라 활용할 수 있습니다.
사용하는 수식만 주의해서 고르면 원하는 값을 정확하게 계산하는 일은 생각보다 어렵지 않습니다. 소개한 함수 외에도 다양한 날짜 함수가 있으니 Office 지원 사이트에서 함께 확인해 보시기 바랍니다. 궁금한 점이 있다면 댓글로 남겨주세요.