엑셀에서 날짜간의 차이를 구하는 방법은 기본적으로 뺄셈이다.
엑셀은 1900년 1월 1일을 숫자 1로 시작해서 그 이후의 날짜를 숫자 형태로 기억하고 있다.
1부터 5까지 숫자를 쭉 입력하고 셀서식으로 날짜로 바꾸면 1900년 1월 1일부터 하나씩 늘어나는 것을 볼 수 있다.
(2014년 1월 19일은 1900년 1월1일로부터 41658번째 날이다)
그러면 근속년수를 00년 00개월 00일 형태로 표현하려면 어떻게 해야 할까??
퇴직일로부터 입사일을 빼면 근무일이 나오고
그 근무일수를 셀서식에서 00년 00개월 00일로 나타나도록 하면 될까???
17년 3개월 19일 ...이라는 계산결과가 맞는 것 같기도 하다. 정말 맞을까???
2014년 1월 1일 입사후 하루만 근무하고 2014년 1월 2일 퇴사한 경우를 생각하고 그대로 계산해보면 이상한 결과가 나온다.
1개월 1일. 즉 31일을 근무한 결과를 보여주는데....
결과가 이렇게 나오는 이유는 2014년 1월 2일에서 2014년 1월 1일을 뺀 결과값 "1"에 대해서
셀서식으로 00년 00개월 00일로 바꾸면,
보이는 형태만 그렇게 보일 뿐
데이터는 "1" 을 1900년 1월 1일의 형태로 인식하고
년도 부분을 뺀 "1월 1일"을 다만 "1개월 1일"의 형태로 바꿔서 보여주기 때문에
원하는 결과를 얻을 수 없는 것이다.
날짜의 차이를 00년 00개월 00일로 표현하기 위해서 사용하는 함수가
DATEDIF( ) 함수이다.
(이 함수는 로터스같은 스프레드시트에서 쓰던 함수를 엑셀에서 사용하기 위해 제공하는 함수로,
마이크로소프트에서 정식으로 제공하는 함수가 아니기 때문에 도움말에도 안 나온단다. ^^;;)
(<수정> 전에는 도움말에 안보였는데 엑셀 2014 온라인 도움말에서는 보인다.)
DATADIF( )함수는 첫번째 인수로 시작일, 두번째 인수로 종료일, 세번째 인수로 표시방법에 대한 옵션을 표시한다.
옵션은
"Y" - 두 날짜 차이의 년도만 표시
"M" - 두 날짜 차이를 개월로 표시(나머지 버림)
"D" - 두 날짜 차이를 날짜로 표시
"YM" - 년도로 계산한 부분은 제외하고 개월에 대한 나머지 표시
"MD" - 년도와 개월까지 계산한 부분은 제외하고 나머지 날짜 표시
DATEDIF 함수를 사용하면 처음 원했던 근무일수를 00년 00개월 00일 형태로 얻을 수 있다
(다만, 위 그림을 자세히 보면 알 수 있듯이 좀 야박(?)하게도 시작한 당일은 계산에 포함시키지 않는다.
1월1일 입사해서 1월2일 퇴사해야 근무일이 1일로 나온다.
이런 경우 결과값으로 2가 필요하다면 맨 마지막 일수에 +1을 해야 한다)
'Excel > 엑셀 함수' 카테고리의 다른 글
엑셀] 텍스트를 숫자로, 숫자를 텍스트로 - VALUE, TEXT 함수 (0) | 2014.02.04 |
---|---|
엑셀] 셀 범위에서 찾는 값이 몇번째 있을까?? - MATCH (1) | 2014.02.03 |
엑셀] 표에서 원하는 값 찾기(3) - INDEX (0) | 2014.02.02 |
엑셀] 표에서 원하는 값 찾기(2) - HLOOKUP 함수 (0) | 2014.02.02 |
엑셀] 표에서 원하는 값 찾기(1) - VLOOKUP (0) | 2014.01.27 |
엑셀] 날짜 표시하고 계산하기 - DATE (0) | 2014.01.19 |
엑셀] 필터, 숨기기로 셀 숨기고 계산하기 - SUBTOTAL (4) | 2014.01.17 |
엑셀] 조건에 따라 합계 구하기 - SUMIF, SUMIFS (0) | 2014.01.16 |
엑셀] 갯수 세기 - COUNT, COUNTA, COUNTIF, COUNTIFS (17) | 2014.01.15 |
엑셀] AND 함수로 여러 조건 만족시키는 경우 찾기 (0) | 2014.01.14 |
댓글