일. 8월 10th, 2025

엑셀에서 날짜 계산, 단순히 며칠 지났는지를 넘어 ‘몇 년 몇 개월 몇 일’처럼 사람이 읽기 쉬운 형태로 표현하고 싶을 때가 많으시죠? 예를 들어, 직원의 근속 연수를 “3년 5개월 12일”로 표시하거나, 프로젝트 진행 기간을 “1년 2개월”로 보여주고 싶을 때 말이죠.

오늘 우리는 이러한 요구사항을 완벽하게 해결해 줄 엑셀의 두 가지 강력한 함수, 바로 DATEDIFTEXT 함수를 조합하여 사용하는 방법을 자세히 알아보겠습니다! 🚀


1. DATEDIF 함수, 날짜 차이 계산의 숨겨진 보석 ✨

DATEDIF 함수는 두 날짜 사이의 기간을 특정 단위로 계산해주는 함수입니다. 놀랍게도 엑셀 함수 목록에는 표시되지 않는 ‘숨겨진’ 함수이지만, 그 기능은 매우 강력합니다.

📖 DATEDIF 함수 기본 구문:

=DATEDIF(시작일, 종료일, 단위)
  • 시작일: 기간 계산을 시작할 날짜입니다.
  • 종료일: 기간 계산을 종료할 날짜입니다.
  • 단위: 어떤 단위로 기간을 계산할지 지정하는 텍스트 코드입니다. (따옴표 필수!)

🎯 단위 인수의 종류와 의미:

단위 코드 의미 예시
"Y" 두 날짜 사이의 만(滿) 연수 2020/01/01 ~ 2023/12/31 -> 3년
"M" 두 날짜 사이의 만(滿) 개월 수 2020/01/01 ~ 2023/12/31 -> 47개월
"D" 두 날짜 사이의 총 일수 2020/01/01 ~ 2020/01/03 -> 2일
"YM" 만 연수를 제외한 남은 개월 수 2020/01/01 ~ 2023/05/15 -> 3년 4개월 14일 (여기서 4)
"YD" 만 연수를 제외한 남은 일 수 2020/01/01 ~ 2023/05/15 -> 3년 135일 (여기서 135)
"MD" 만 연수와 만 개월 수를 제외한 남은 일 수 2020/01/01 ~ 2023/05/15 -> 3년 4개월 14일 (여기서 14)

📌 중요 사항:

  • 시작일종료일보다 같거나 이전 날짜여야 합니다. 그렇지 않으면 #NUM! 오류가 발생합니다.
  • 단위는 반드시 큰따옴표 ""로 묶어서 입력해야 합니다.

예시 표: DATEDIF 함수 단독 사용

시작일 (A2) 종료일 (B2) =DATEDIF(A2,B2,"Y") (만 연수) =DATEDIF(A2,B2,"YM") (남은 개월) =DATEDIF(A2,B2,"MD") (남은 일)
2020-01-01 2023-05-15 3 4 14
2022-03-10 2024-02-28 1 11 18
2023-01-01 2023-01-10 0 0 9

2. TEXT 함수, 값에 옷을 입히다 👕

DATEDIF 함수가 돌려주는 건 결국 ‘숫자’입니다. 이 숫자를 ‘년’, ‘개월’, ‘일’과 같은 한글 문자와 자연스럽게 조합하려면 TEXT 함수가 강력한 도구가 됩니다. TEXT 함수는 숫자나 날짜 등의 값을 우리가 원하는 서식의 텍스트로 변환해 줍니다.

📖 TEXT 함수 기본 구문:

=TEXT(값, 서식)
  • : 텍스트로 변환할 숫자, 날짜, 또는 다른 값입니다.
  • 서식: 값을 어떻게 표시할지 정의하는 서식 코드입니다. (따옴표 필수!)

예시:

  • =TEXT(12345, "#,##0") -> “12,345”
  • =TEXT(TODAY(), "yyyy년 mm월 dd일") -> “2023년 07월 26일” (오늘 날짜 기준)

우리는 DATEDIF로 얻은 숫자 값 뒤에 “년”, “개월”, “일”을 붙이는 용도로 TEXT 함수 (또는 & 연산자)를 활용할 것입니다. 여기서는 간단히 & 연산자를 사용하여 문자열을 연결하는 것이 더 직관적입니다.


3. DATEDIF + TEXT 함수로 기간 표현 자동 생성! 💡 (핵심)

이제 두 함수를 조합하여 ‘몇 년 몇 개월 며칠’ 형태의 기간을 자동으로 생성하는 방법을 알아봅시다. 핵심은 DATEDIF로 각각의 단위(년, 개월, 일)를 구한 다음, 이 값들이 0보다 클 때만 해당 단위와 문자를 붙여주는 조건을 사용하는 것입니다.

🛠️ 단계별 공식 만들기:

시작일이 A2셀에, 종료일이 B2셀에 있다고 가정하겠습니다.

  1. 만 연수 구하기: DATEDIF(A2,B2,"Y") 만약 연수가 0보다 크다면, 이 값 뒤에 “년 “을 붙입니다. IF(DATEDIF(A2,B2,"Y")>0,DATEDIF(A2,B2,"Y")&"년 ","")

  2. 남은 개월 수 구하기: DATEDIF(A2,B2,"YM") 만약 남은 개월 수가 0보다 크다면, 이 값 뒤에 “개월 “을 붙입니다. IF(DATEDIF(A2,B2,"YM")>0,DATEDIF(A2,B2,"YM")&"개월 ","")

  3. 남은 일 수 구하기: DATEDIF(A2,B2,"MD") 만약 남은 일 수가 0보다 크다면, 이 값 뒤에 “일”을 붙입니다. IF(DATEDIF(A2,B2,"MD")>0,DATEDIF(A2,B2,"MD")&"일","")

  4. 모든 부분 연결하기: 위에서 만든 세 부분을 & 연산자를 사용하여 하나로 합칩니다. 각 부분에 공백을 적절히 넣어 가독성을 높입니다.

✅ 최종 완성 공식:

=IF(DATEDIF(A2,B2,"Y")>0,DATEDIF(A2,B2,"Y")&"년 ","")&
 IF(DATEDIF(A2,B2,"YM")>0,DATEDIF(A2,B2,"YM")&"개월 ","")&
 IF(DATEDIF(A2,B2,"MD")>0,DATEDIF(A2,B2,"MD")&"일","")

💡 공식 설명: 각 DATEDIF 함수의 결과가 0보다 클 때만 해당 결과값과 “년”, “개월”, “일”이라는 텍스트를 연결하고, 그렇지 않으면 빈 문자열("")을 반환합니다. 이렇게 하면 “0년”, “0개월”, “0일”과 같이 불필요한 부분이 표시되지 않습니다.

📝 활용 예시 표:

시작일 (A) 종료일 (B) 최종 기간 표현 공식 (C) 결과 (C)
2020-01-01 2023-05-15 =IF(DATEDIF(A2,B2,"Y")>0,DATEDIF(A2,B2,"Y")&"년 ","")&IF(DATEDIF(A2,B2,"YM")>0,DATEDIF(A2,B2,"YM")&"개월 ","")&IF(DATEDIF(A2,B2,"MD")>0,DATEDIF(A2,B2,"MD")&"일","") 3년 4개월 14일
2022-03-10 2024-02-28 =IF(DATEDIF(A3,B3,"Y")>0,DATEDIF(A3,B3,"Y")&"년 ","")&IF(DATEDIF(A3,B3,"YM")>0,DATEDIF(A3,B3,"YM")&"개월 ","")&IF(DATEDIF(A3,B3,"MD")>0,DATEDIF(A3,B3,"MD")&"일","") 1년 11개월 18일
2023-01-01 2023-01-10 =IF(DATEDIF(A4,B4,"Y")>0,DATEDIF(A4,B4,"Y")&"년 ","")&IF(DATEDIF(A4,B4,"YM")>0,DATEDIF(A4,B4,"YM")&"개월 ","")&IF(DATEDIF(A4,B4,"MD")>0,DATEDIF(A4,B4,"MD")&"일","") 9일
2023-01-01 2023-07-26 =IF(DATEDIF(A5,B5,"Y")>0,DATEDIF(A5,B5,"Y")&"년 ","")&IF(DATEDIF(A5,B5,"YM")>0,DATEDIF(A5,B5,"YM")&"개월 ","")&IF(DATEDIF(A5,B5,"MD")>0,DATEDIF(A5,B5,"MD")&"일","") 6개월 25일
2023-01-01 2023-01-01 =IF(DATEDIF(A6,B6,"Y")>0,DATEDIF(A6,B6,"Y")&"년 ","")&IF(DATEDIF(A6,B6,"YM")>0,DATEDIF(A6,B6,"YM")&"개월 ","")&IF(DATEDIF(A6,B6,"MD")>0,DATEDIF(A6,B6,"MD")&"일","") (빈 값)

4. 💡 꿀팁 및 활용 예시

  • 직원 근속 연수 계산: =DATEDIF(입사일,TODAY(),"Y")&"년 "&DATEDIF(입사일,TODAY(),"YM")&"개월 "&DATEDIF(입사일,TODAY(),"MD")&"일"
    • TODAY() 함수를 사용하면 현재 날짜 기준으로 기간을 자동으로 계산할 수 있습니다.
  • 프로젝트 진행 기간: 시작일과 예상 완료일 사이의 기간을 계산하여 “총 1년 3개월 소요 예상” 등으로 표현할 수 있습니다.
  • 나이 계산 (만 나이): 생년월일과 오늘 날짜를 DATEDIF 함수로 Y 단위로 계산하면 됩니다.
  • 오류 처리: 만약 시작일이 종료일보다 늦으면 #NUM! 오류가 발생합니다. IFERROR 함수를 사용하여 오류 발생 시 “날짜 오류”와 같이 표시할 수 있습니다. =IFERROR(IF(DATEDIF(...),""),"날짜 오류")

5. 결론 🎉

DATEDIF와 TEXT (및 IF, & 연산자)의 조합은 엑셀에서 날짜 기간을 사용자 친화적인 형태로 표현하는 데 있어 가장 강력하고 유연한 방법 중 하나입니다. 이제 여러분도 엑셀에서 복잡한 날짜 기간 계산을 손쉽게, 그리고 ‘사람 친화적인’ 형태로 표현할 수 있게 되셨을 겁니다!

이 지식을 활용하여 보고서 작성, 데이터 분석 등 다양한 업무에 적용해보세요. 엑셀의 활용도가 한층 더 높아질 것입니다. 궁금한 점이 있다면 언제든지 댓글로 질문해주세요! Happy Excelling! 💻✨ D

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다