1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

DATEDIF 함수

조회 수 8797 추천 수 0 2009.07.17 18:59:51

 파일 다운로드 : abyul_Formula_datedif.xls

 

 

 ▲ 질문에 대한 답변 
질문 : http://www.abyul.com/zbxe/67407
작성자 : 아별닷컴(http://abyul.com/) 주인장 오주원
입사일 2007-08-14
퇴사일 2009-11-25
▲ 근무기간(단계별 표시)
* 2년 3개월 11일을 근무함
                   2 Y =DATEDIF($C$6,$C$7,"Y")
                   3 YM =DATEDIF($C$6,$C$7,"YM")
11 MD =DATEDIF($C$6,$C$7,"MD")
▲ 근무기간(누적으로 표시)
* 만 2년 근무, 만 27개월 근무, 834일 근무함
                   2 Y =DATEDIF($C$6,$C$7,"Y")
                 27 M =DATEDIF($C$6,$C$7,"M")
               834 D =DATEDIF($C$6,$C$7,"D")
 ▲ DATEIF 함수 도움말 
=DATEDIF 함수는 워크시트 함수로 두 날짜사이의 기간을 계산하는 함수다.
이상하게도 이 함수는 엑셀의 내장함수 임에도 불구하고 함수 리스트 및 도움말에 나오지 않는다. 
=DATEDIF 의 구문 구성은 다음과 같다.
=DATEDIF (Date1, Date2, Interval) 
여기서
Date1 : 첫 번째 날짜로 엑셀의 표준 일련번호 형식이다.
Date2 : 두 번째 날짜로 엑셀의 표준 일련번호 형식이다.
Interval : 함수의 결과 값으로 반환할 시간단위
Date1은 Date2보다 앞 선 날짜이어야 한다. 그렇지 않으면 이 함수는 #NUM!에러를 낸다.
Date1이나 Date2가 날짜가 아니면 #VALUE! 에러가 난다.
Interval은 아래의 항목중 하나여야 한다.
< Interval Code 설명 >
코드 의  미 해   설      
"m" Month     두 날짜 사이의 개월 수          
"d" Days     두 날짜 사이의 일 수 (날짜수)          
"y" Years     두 날짜 사이의 연 수            
"ym" Months Excluding Year   두 날짜 사이의 월 수로, 두 날짜가 같은 해에 있다고 가정  
"yd" Days Excluding Year   두 날짜 사이의 날짜 수로, 두 날짜가 같은 해에 있다고 가정  
"md" Days Excluding Months And Years 두 날짜 사이의 날짜 수로, 두 날짜가 같은 해, 같은 월에 있다고 가정
=DATEDIF 함수에 Interval인수를 문자열로 입력을 하려면 아래의 예와 같이 따옴표를 사용해야 한다.
예) =DATEDIF(A1, NOW(), "d")
그러나 Interval 인수가 워크시트의 셀에 들어 있다면 해당 셀 주소를 입력하면 된다.
예) =DATEDIF(A1, NOW(), C1)
 ▲ DATEIF 함수의 버그.. 오류..

이 함수는 도움말에도 안 나오는 버림받은 함수지요..

기존 스프레드시트프로그램과의의 호환성 때문에 있다고 하지요..

 

따라서 몇가지 버그가 있습니다.

 

한달이라고 인식하는 기준의 문제인데요.. 특히 윤달, 2월달, 31일이 만땅인 달과 30일이 만땅인 달에 대한 계산 차이.. 등등

이러한 문제점을 알고 있어야 혹시모를 실수를 방지할 수 있습니다.

 

간단한 예를 들어보겠습니다.

* 3월 31일부터 4월 30일까지의 기간을 1달로 인식하지 않습니다.

시작일

종료일

개월수

2009-03-30

2009-04-30

1

2009-03-31

2009-04-30

0

 

* 아래와 같은 예도 있습니다.

 

이래 저래.. 달력이라는게 사람이 임의로 만든 것이기 때문에..

한달의 일자가 일정하지도 않고, 윤달이라도 끼어 있다면.. 아이쿡..

 

암튼.. 그럼에도 불구하고.. 앞 뒤 날짜의 말일자 부분만 주의해서 보신다면..

이것보다 편리한 날짜 계산 함수는 없을 겁니다.

 

* 참고로 엑사모에서 이런 오류를 호소하시는 글도 찾아봤습니다.

http://www.excellove.com/board/bbs/view.php?id=qa&no=52262&keyword=datedif&sn=on&ss=on&sc=on

 

* 엑사모에 있는 DATEDIF 함수 강좌글

http://www.excellove.com/board/bbs/zboard.php?id=function&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=49

 

시작일

종료일

개월수

일 수

2009-01-30

2009-02-28

0

29

2009-02-01

2009-03-01

1

28


댓글 '5'

[레벨:0]aaaaaafffff

2011.06.23 08:55:50
*.166.148.164

우와.....또 새로운걸 알았다. 고맙습니다.

profile

[레벨:30]아별

2011.06.23 23:21:50
*.130.73.75

에~~~이~~~~에~~프님..

댓글에 반말과 존대말 섞어쓰시면 안돼요.. ^-^;;

그렇다고 반말만 쓰셔도 안되구요.. 헤헤..

 

가입을 환영합니다~~ ㅎㅎ

[레벨:4]현대자동차

2012.03.03 11:34:01
*.29.96.161

좋은정보 감사합니다//

profile

[레벨:30]아별

2012.03.04 17:37:01
*.104.126.21

DATEIF함수는 근속년수 계산할때 유용한 함수지요..

다만.. 위 게시물에 적어놓은 것처럼..  

몇가지 상황에서 버그가 있을 수 있으니.. 주의하셔야합니다. ^^

즐거운 하루 보내세요~ 현대자동차님~~ ^^)//

profile

[레벨:30]아별

2013.10.10 02:16:31
*.130.73.21

엑셀의 Datedif 함수의 도움말은 없으나..

참고할 만한 Visual Basic의 DateDiff함수를 참고해보세요..

http://msdn.microsoft.com/ko-kr/library/b5xbyt6f(v=vs.90).aspx


문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
14 엑셀일반 함수에 포함된 "--" 기호 의미 [1] 파야 2014-11-24 1746
13 엑셀일반 [강의 준비 아이디어 ] 상대 참조와 절대 참조 설명용.. [레벨:30]아별 2014-09-03 1683
12 VBA [강의 준비 아이디어 ] 매크로가 필요할 때.. file [1] [레벨:30]아별 2014-06-23 2401
11 기타 [교육안내] 교육비 환급(80%~100%) 업무에 바로 쓰는 엑셀 2007 활용실무 imagefile [레벨:30]아별 2013-12-05 1763
10 VBA [강좌] VBA로 *.ini 파일 다루기.. imagefile [레벨:30]아별 2013-09-12 3338
9 VBA 유저폼에 이미지 쉽게 집어 넣기.. imagefile [레벨:30]아별 2012-09-06 4920
8 엑셀일반 [강좌] 셀안에 이미지 또는 도형 정렬하기 imagefile [4] [레벨:30]아별 2011-10-11 10006
7 [강좌] 차트에 보조선 넣기 imagefile [17] [레벨:30]아별 2011-08-09 6413
6 [강좌] 매크로 함수를 활용하여 수식셀 자동 색상 지정하기 imagefile [6] [레벨:30]아별 2011-07-19 5487
5 [강좌] 차트 데이터 레이블을 내 맘대로 다른 것으로 바꾸고 싶을때... imagefile [4] [레벨:30]아별 2011-07-14 5885
4 엑셀에서 자간이 벌어진것 같은 문자를 정상으로 만드는 ASC 함수 file [레벨:30]아별 2009-10-29 6287
3 엑셀일반 [강좌] 다중 조건 조회 및 중복 항목 제거하여 개수 구하기 imagefile [10] [레벨:30]아별 2009-10-10 13878
2 NETWORKDAYS() : 근무일수를 구하는 함수 imagefile [7] [레벨:30]아별 2009-08-25 9314
» DATEDIF 함수 file [5] [레벨:30]아별 2009-07-17 8797