오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 두 날짜 사이 월 계산 공식 :: 함수 공식

두 날짜 사이의 개월 수, 온전히 지난 개월 수, 개월 수 & 일 수를 동시에 표시하는 엑셀 함수 및 공식 사용법

작성자 :
오빠두엑셀
최종 수정일 : 2021. 09. 03. 11:09
URL 복사
메모 남기기 : (6)

엑셀 두 날짜 사이 월 계산 공식

엑셀 두 날짜 사이 월 계산 목차 바로가기
함수 공식

온전히 지난 개월 수 계산

= DATEDIF(시작일, 종료일, "M")
'예: 2021/1/1 ~ 2021/2/15 => 1개월 15일 => 1

개월 수 소수점 포함 계산

= YEARFRAC(시작일, 종료일)*12
'예: 2021/1/1 ~ 2021/2/5 => 1개월 15일 => 1.47
인수 설명
엑셀 두 날짜 사이 월 계산
엑셀 두 날짜 사이 월 계산 공식
인수 설명
시작일 시작 날짜 (두 날짜 중 빠른날짜) 입니다.
종료일 종료 날짜 (두 날짜 중 느린날짜) 입니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 엑셀 두 날짜 사이 월 계산 공식
    예제파일

호환성
운영체제 호환성
Windows 버전 모든 엑셀 버전에서 사용 가능합니다.
Mac 버전 모든 엑셀 버전에서 사용 가능합니다.
사용된 기초 함수

엑셀 두 날짜 사이 월 계산 공식 알아보기

공식 설명

본 공식은 두 날짜 사이의 개월 수를 계산하는 공식입니다. 온전히 지난 개월수를 계산하려면 DATEDIF 함수를, 개월수의 소수점까지 포함하여 계산하려면 YEARFRAC 함수를 사용합니다.

오빠두Tip : DATEDIF 함수는 이전 LOTUS에서 사용하던 함수로, 호환성을 위해 엑셀에서 추가로 제공되는 함수입니다. 따라서 함수를 입력해도 인수가 자동으로 완성되지 않습니다.

엑셀 datedif 함수

DATEDIF 함수는 두 날짜 사이의 온전히 지난 개월수 (=꽉찬 개월수)를 반환합니다. DATEDIF 함수와 YEARFRAC 함수의 차이점은 아래 영상강의를 참고해주세요.

YEARFRAC 함수의 기본 계산방식은 30/360일 (미국표준, 모든 개월수를 30일로 가정)로 계산합니다. 만약 회계 기준 상, 두 날짜사이의 실제 일수로 계산해야 할 경우 YEARFRAC 함수의 3번째 인수를 1로 입력합니다.

=YEARFRAC(시작일, 종료일, 1)
'두 날짜 사이 실제 일수를 기준으로 계산합니다.

두 날짜 사이의 온전히 지난 개월수 차이를 YEARFRAC 함수로 구하려면, INT 함수를 응용합니다.

=INT(YEARFRAC(시작일, 종료일))
'두 날짜 사이의 온전히 지난 개월수 차이를 YEARFRAC 함수로계산합니다.
공식의 동작원리
  1. YEARFRAC 함수로 두 날짜 사이 기간이 1년 중 차지하는 비율을 계산합니다.
    'A1 : 2020/1/1 (시작일)
    'B1 : 2020/8/15 (종료일)
    =YEARFRAC(A1,B1)
    =0.62222
  2. YEARFRAC 함수 결과에 12를 곱해 단위를 월 기준으로 변경합니다
    =YEARFRAC(A1,B1)*12
    =0.6222*12
    =7.47
    '두 날짜사이의 개월수는 7.47 개월입니다.

자주묻는질문

자주묻는질문1. 두 날짜 사이의 개월수와 일수를 같이 표시하고 싶어요.

두 날짜 사이의 개월 수와 일수를 동시에 표시하려면 아래 공식을 사용합니다.

=INT(YEARFRAC(시작일,종료일)*12) & "개월 " & ROUND((YEARFRAC(시작일,종료일)*12-INT(YEARFRAC(시작일,종료일)*12))*30,0) & "일"
'두 날짜 사이의 개월 수/일 수 차이를 동시에 표시합니다.
댓글 6
5 (4개 평가)
김경훈
김경훈 2021.08.10 13:28
항상 쉽게 설명해주셔서 너무 좋습니다.
Ramunesia
Ramunesia 2022.09.26 22:25
ROUND((YEARFRAC(시작일,종료일)*12-INT(YEARFRAC(시작일,종료일)*12))*30,0) 에서 round, int 함수를 쓰는 이유가 궁금합니다.
오빠두엑셀
오빠두엑셀 작성자 2022.09.27 23:49
안녕하세요.
INT 함수는 무조건 내림하고, ROUND 함수는 반올림 계산합니다.
상황에 따라 1일 오차가 드물게 발생할 수 있으나, INT, ROUND 함수는 적절히 치환해서 사용하셔도 무방합니다.^^
강민준🤗
강민준🤗 2024.08.11 16:58
좋은 강의 감사합니다🙇‍♂️
wow
wow 2025.02.18 19:20
질문있어요,
118개월을 "몇년 몇개월" 로 표시하려고 하면 어떤 함수 써야할까요?
(118개월은 9년 10개월입니다)
오빠두엑셀
오빠두엑셀 작성자 2025.02.19 15:58
안녕하세요.
=INT(셀/12)&"년"&MOD(셀,12)&"개월"로 수식을 작성해보세요.