본문 바로가기
Ssalaryhacks

엑셀 DATEDIF 함수

두 날짜 사이의 년·월·일 차이를 계산합니다.

모든 버전

구문

=DATEDIF(시작일, 종료일, "단위")
인수필수설명
시작일필수빠른 날짜
종료일필수늦은 날짜
단위필수"Y"=만 년수, "M"=만 개월수, "D"=일수, "YM"=년 제외 개월수

예시

=DATEDIF(A2,TODAY(),"Y")&"년 "&DATEDIF(A2,TODAY(),"YM")&"개월"
결과
3년 7개월
설명
근속기간 표기의 표준 형태입니다.

언제 쓰나요

근속연수, 나이, 계약 잔여기간처럼 **두 날짜 사이의 연·월·일 수**를 구할 때 씁니다. 퇴직금 계산의 근속기간 산정에 자주 쓰입니다. 특이한 점은 이 함수가 **엑셀 도움말에 나오지 않는다는 것** 입니다 — 하위 호환을 위해 남아 있어 자동완성에도 안 뜨지만 정상 동작합니다. 단위 인수는 반드시 따옴표로 감싸야 합니다.

자주 나는 오류와 해결

DATEDIF 함수가 뜻대로 안 될 때 확인할 것들입니다.

자동완성에 안 뜸

원인
DATEDIF 는 문서화되지 않은 함수라 목록에 나오지 않습니다
해결
정상입니다. 직접 =DATEDIF( 를 타이핑하면 동작합니다

#NUM! 오류

원인
시작일이 종료일보다 늦습니다
해결
두 날짜의 순서를 바꿉니다. DATEDIF 는 음수 기간을 허용하지 않습니다

#VALUE! 오류

원인
단위를 따옴표로 감싸지 않았거나 날짜가 텍스트입니다
해결
"Y"·"M"·"D" 처럼 따옴표를 넣고, 날짜는 DATEVALUE 로 변환합니다

"MD" 결과가 이상함

원인
"MD" 단위는 월말 근처에서 음수나 잘못된 값을 내는 알려진 결함이 있습니다
해결
"MD" 는 쓰지 마십시오. 일수가 필요하면 종료일-시작일 로 직접 빼거나 "YM" 과 조합해 계산합니다

근속 1년이 안 채워짐

원인
"Y" 는 만 나이 방식이라 하루라도 모자라면 이전 해로 셉니다
해결
의도한 동작입니다. 퇴직금 산정 기준일을 먼저 확인하십시오

대신 쓸 수 있는 함수

날짜 함수 더 보기