• 최초 작성일: 1999-10-07
  • 최종 수정일: 2026-09-29
  • 조회수: 28 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: DATEDIF 함수Ⅰ

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

날짜와 시간의 계산에 대한 질문이 몇 건 있었고 그에 따른 답변을 아주 예전에 드렸습니다.

X0006 강좌에서 였던 걸로 기억나는데 관심있으신 분은 찾아보시기 바랍니다. 아마 엑셀통신강좌_001 파일에 그 내용이 들어있을 것입니다.

입사일자 현재일자 근무기간
1988-12-10 1999-08-01 10년 7개월 22일
1985-11-13 1999-08-01 13년 8개월 19일

year(), month(), day(), or(), and() 등 여러가지 함수들을 조합해서 무슨 암호문같이 복잡한 함수를 소개해 드렸습니다. 참 복잡한 방법이었지요?

오늘은 날짜 계산을 손쉽게 해결할 수 있는 방법을 한가지 알려드립니다.

아마 이 방법이 지난번에 설명드린 방법보다 훨씬 쉬울 것입니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

DATEDIF 함수Ⅰ

핵심 요약

  • DATEDIF 함수는 두 날짜와 계산 단위를 지정해 일수·개월수·연수 차이를 구합니다.
  • d, m, y 단위로 전체 차이를 계산하고 yd, ym 같은 단위로 연도나 월을 제외한 차이도 구할 수 있습니다.
  • 시작 날짜는 종료 날짜보다 앞서야 하며, 그렇지 않으면 오류가 발생할 수 있습니다.
출생일 현재일
1968-11-13 1999-10-07 30년10개월24일

위와 같이 두 날짜가 있을 경우

① 두 날짜간의 일수 차이는? 11,285 =DATEDIF(B19,C19,"d")
② 두 날짜간의 월수 차이는? 370 =DATEDIF(B19,C19,"m")
③ 두 날짜간의 년수 차이는? 30 =DATEDIF(B19,C19,"y")

어떻습니까? 오른쪽 공식에서 볼 수 있듯이 datedif()라는 함수를 사용해서 아주 수월한 방법으로 두 날짜간의 계산을 하였지요?

즉, datedif()함수는 datedif(날짜1, 날짜2, 연산방법)에서 알 수 있듯이 두 개의 날짜를 인수로 입력 받아 지정된 방법으로 연산해서 그 차이를 되돌려주는 함수입니다.

참고: DATEDIF 함수는 함수 삽입 대화상자의 목록과 수식 자동 완성에 나타나지 않으므로 수식을 직접 입력해야 합니다.

연산방법은 크게 다섯 가지로 지정해 줄 수 있습니다.

(1) "d": 두 날짜 사이의 일수를 산출(위 ①번 방법)

(2) "m": 두 날짜 사이의 개월수를 산출(위 ②번 방법)

(3) "y": 두 날짜 사이의 년수를 산출(위 ③번 방법)

이 세가지 방법은 위의 예제 ①, ②, ③에 각각 해당되는 것인데 이해가 되실테고…

(4) "ym": 두 날짜 사이를 같은 년도로 간주하고 개월수 계산

(5) "yd": 두 날짜 사이를 같은 년도로 간주하고 일수 계산

④ 두 날짜간의 일수계산Ⅱ 328일 경과 =DATEDIF(B19,C19,"yd") & "일 경과"
⑤ 두 날짜간의 개월수 계산Ⅱ 10개월 경과 =DATEDIF(B19,C19,"ym") & "개월 경과"

①과 ④, ②와 ⑤의 차이점을 아시겠지요?

datedif()함수 사용시 주의할 점! 날짜1과 날짜2가 있을 경우, 날짜1이 날짜2보다 반드시 작아야 합니다. 그렇지 않으면 에러가 납니다.

이런 간단한 방법이 있었으면 진작에 갈쳐주지 왜 이제서야 알려주느냐고 하시는 분께는 죄송!

오늘은 여기까지…

정리 — DATEDIF 함수Ⅰ

구분내용
함수 형식DATEDIF(날짜1, 날짜2, 연산방법)
d두 날짜 사이의 일수
m두 날짜 사이의 개월수
y두 날짜 사이의 년수
ym두 날짜 사이를 같은 년도로 간주하고 계산한 개월수
yd두 날짜 사이를 같은 년도로 간주하고 계산한 일수
예제1968-11-13과 1999-10-07 사이는 11,285일, 370개월, 30년
주의날짜1이 날짜2보다 반드시 작아야 하며 그렇지 않으면 오류

자주 묻는 질문 (FAQ)

Q1. DATEDIF 함수는 무엇인가요?

두 개의 날짜를 인수로 입력받아 지정한 방법으로 연산하여 그 차이를 돌려주는 함수입니다. 형식은 DATEDIF(날짜1, 날짜2, 연산방법)입니다.

Q2. 연산방법으로 무엇을 지정할 수 있나요?

d는 일수, m은 개월수, y는 년수를 구합니다. ym은 두 날짜를 같은 년도로 간주하여 개월수를, yd는 같은 년도로 간주하여 일수를 구합니다.

Q3. 사용할 때 주의할 점은 무엇인가요?

날짜1이 날짜2보다 반드시 작아야 합니다. 그렇지 않으면 오류가 납니다.

마치며

근무기간이나 나이처럼 두 날짜 사이의 기간을 구할 때는 복잡한 조합 대신 DATEDIF 함수를 사용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.