엑셀에서 날짜 계산, 단순히 며칠 지났는지를 넘어 ‘몇 년 몇 개월 몇 일’처럼 사람이 읽기 쉬운 형태로 표현하고 싶을 때가 많으시죠? 예를 들어, 직원의 근속 연수를 “3년 5개월 12일”로 표시하거나, 프로젝트 진행 기간을 “1년 2개월”로 보여주고 싶을 때 말이죠.
오늘 우리는 이러한 요구사항을 완벽하게 해결해 줄 엑셀의 두 가지 강력한 함수, 바로 DATEDIF와 TEXT 함수를 조합하여 사용하는 방법을 자세히 알아보겠습니다! 🚀
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셀에 있다고 가정하겠습니다.
-
만 연수 구하기:
DATEDIF(A2,B2,"Y")
만약 연수가 0보다 크다면, 이 값 뒤에 “년 “을 붙입니다.IF(DATEDIF(A2,B2,"Y")>0,DATEDIF(A2,B2,"Y")&"년 ","")
-
남은 개월 수 구하기:
DATEDIF(A2,B2,"YM")
만약 남은 개월 수가 0보다 크다면, 이 값 뒤에 “개월 “을 붙입니다.IF(DATEDIF(A2,B2,"YM")>0,DATEDIF(A2,B2,"YM")&"개월 ","")
-
남은 일 수 구하기:
DATEDIF(A2,B2,"MD")
만약 남은 일 수가 0보다 크다면, 이 값 뒤에 “일”을 붙입니다.IF(DATEDIF(A2,B2,"MD")>0,DATEDIF(A2,B2,"MD")&"일","")
-
모든 부분 연결하기: 위에서 만든 세 부분을
&
연산자를 사용하여 하나로 합칩니다. 각 부분에 공백을 적절히 넣어 가독성을 높입니다.
✅ 최종 완성 공식:
=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