본문 바로가기
세상의 모든 엑셀 (엑셀팁, 질문)

010. (엑셀 팁, 질문) 근무기간을 구해보자 (ft, Datedif 함수로 근무년수 구하기)

by Excel.Jump 청출어람 2022. 12. 18.
반응형

 

 

 

근무기간, 근속연수구하기, Datedif 함수

 

 

 

■ 목차

 

1. 엑셀 팁/질문 : 근속기간을 몇 년 몇 개월처럼 구할 수는 없을까요?
2. 근무 기간을 "몇 년 몇 개월 몇 일"이라는 형식으로 구해주는 "Datedif 함수"
3. 근속연수를 구해주는 Datedif 함수의 구분
4. 그래서 근속연수(몇 년 몇 개월 몇 일 근무)는 어떤 옵션을 사용하는가?
5. 현재 일자를 기준으로 자동으로 근속 년수를 구해 보자 - Today 함수 사용
** 핵심 요약

 

 

 

 

1. 엑셀 팁/질문 : 근속기간을 몇 년 몇 개월처럼 구할 수는 없을까요?

 

  - 직원의 근속기간을 입사일을 기준으로 현재 몇 년 몇 개월 근무라고 구하고 싶습니다. 
  - 엑셀에서 쉽게 구할 수 있는 함수나 공식이 있나요? 

 

근속기간 구하기
* 근속기간 구하기

 

 

 

2. 근무 기간을 "몇 년 몇 개월 몇 일"이라는 형식으로 구해주는 "Datedif 함수"

 

  - 엑셀에서의 날짜는 기본적으로 "숫자"에 속합니다. 
  - 그리고 "1일 = 숫자 1"에 해당하고 "1900-01-01"이 숫자 1로 시작해서 그 날 부터 하루에 1씩 더해지는 형식입니다.

  - 그래서 "날짜2 - 날짜 1"로 계산을 하면 두 날짜 사이의 차이나는 일수를 알 수가 있습니다.
  - 이렇게 날짜에서는 "숫자"라는 개념과 지정된 형식 ("1900/01/01", "1900-01-01")으로 정확하게 사용해야 한다는 2가지 기본적인 사항이 가장 중요합니다.

  - 그리고 날짜이기 때문에 근속연수, 나이, 만나이, 경과일수 이러한 계산들을 많이 할 수밖에 없습니다. 
  - 오늘은 그 중에서도 주로 회사에 근속 연수를 엑셀 함수를 이용해서 구할 수 있는 방법에 대해서 얘기를 해보도록 하겠습니다.

  - 근속연수, 재직기간이라고 하면 바로 적용이 가능한 "Datedif 함수"라는 함수가 있습니다.
  - 두 날짜 사이의 일, 월, 연도 수를 계산해주는 함수이고 쉽게 얘기하자면 몇 년 몇 개월 몇 일 근무를 했다고 계산할 수 있는 함수입니다. 
  - Datedif = date difference로 날짜 차이 정도의 의미가 될 것 같습니다.

  - 사용 방법도 크게 어렵지 않지만 옵션이 조금 어렵다면 어렵고 정확한 개념의 이해를 요구하는 정도입니다.

 

 

 

 

3. 근속연수를 구해주는 Datedif 함수의 구분

 

 - Datedif (start_date, end_date, unit)
  - start / end_date : 년, 월, 일 수를 계산하고자 하는 시작, 종료 날짜입니다. 
  - unit : 옵션으로 구하고자하는 정보 형식입니다.  

  - Unit 옵션은 아래와 같습니다.

 

Datedif 함수의 옵션
* Datedif 함수의 옵션

 

  - 이해가 되시는 지요? 엑셀 도움말에서 나온 글을 참조했습니다. ^^
  - 일단 결론부터 보고 하나하나 상세한 내용으로 들어가도록 하겠습니다.

 

 

 

 

4. 그래서 근속연수(몇 년 몇 개월 몇 일 근무)는 어떤 옵션을 사용하는가?

 

  - 우리가 원하는 근속 연수는 "몇 년 몇 개월 몇 일 근무"라는 것을 Datedif 함수에서 "Y"년 "YM"개월 "MD"일 근무가 됩니다.
  - 여기서 MD는 수식에서 보시면 아시겠지만 10일 - 1일 = 9일로 계산이 되니 첫날, 마지막날 포함 여부에 따라서 "+1"을 해주시면 됩니다.
  - 그리고 "MD" 옵션은 버그가 있어서 잘 못된 결과 값을 나타낼 수 있다고 MS사에서 공식적으로 가능하면 사용하지 말라고 하네요. ^^

 

옵션에 따른 년, 월, 일 구분
* 옵션에 따른 년, 월, 일 구분

 

  - Datedif 함수의 사용에서 주의하실 것은 2가지입니다. 
  - 첫 번째는 날짜 서식을 정확하게 사용해 주셔야 합니다. 거의 대부분의 오류가 여기서 발생이 됩니다.
  - 두 번째는 Unit는 문자이기 때문에 직접 함수에 사용하는 경우 쌍따옴표 ( " " )를 사용해서 입력을 하셔야 하고 셀 참조의 경우 참조되는 셀에는 그냥 문자로 입력을 해주시면 됩니다.
  - 즉 함수에서는 = datedif ('2000/01/01","2001/03/10","Y") 형식으로 입력을 하고 셀 참조는 위의 예제를 참조하시기 바랍니다.


  - 우선 "Y", "M", "D"는 두 기간 사이에서 온전히, 전부 경과한 총 연도 수, 총 개월 수, 총 일 수 입니다. 
  - 즉 "M"의 경우 전부 경과한 개월 수가 총 14개월로 14가 되고 만약 "2000-01-10"에서 "2001-01-09"로 1년이 전부 경과하지 않는 경우 "Y"는 0의 값을 가지게 됩니다.

  - "YM", "MD" 같은 경우는 년을 무시한, 년/월을 무시한 나머지 개월 수와 일수를 구해 주는 옵션입니다. 
  - 그래서 "Y년 YM개월 MD일 근무"라고 우리가 원하는 근속일수를 구할 수 있게 됩니다. 

 

 

 

 

5. 현재 일자를 기준으로 자동으로 근속 년수를 구해 보자 - Today 함수 사용

 

  - 그럼 현재 일자(오늘)을 기준으로 자동으로 근속 연수를 구해 보도록 하겠습니다.
  - 오늘 날짜는 Today() 함수를 사용할 수 있습니다. 함수에 입력해줄 인수도 없습니다. 
  - 아래와 같이 함수를 입력하고 Datedif 함수에서 원하는 옵션을 사용하시면 됩니다. 

 

오늘 날짜 기준 자동으로 근속 기간 구하기
* 오늘 날짜 기준 자동으로 근속 기간 구하기

 

 

 

 

** 핵심 요약 : 근무기간을 구해보자 (ft, Datedif 함수로 근무년수 구하기)

 

1. 엑셀 팁/질문 : 근속기간을 몇 년 몇 개월처럼 구할 수는 없을까요?

  - 직원의 근속기간을 입사일을 기준으로 현재 몇 년 몇 개월 근무라고 어떻게 구해야 하는가?


2. 근무 기간을 "몇 년 몇 개월 몇 일"이라는 형식으로 구해주는 "Datedif 함수"

  - 엑셀에서의 날짜는 기본적으로 "숫자"에 속한다.
  - 그리고 "1일 = 숫자 1"에 해당하고 "1900-01-01"이 숫자 1로 시작해서 그날부터 하루에 1씩 더해지는 형식이다.
  - 근속연수, 재직기간을 구해주는 "Datedif 함수"라는 함수가 있다. (옵션이 조금 어렵다)


3. 근속연수를 구해주는 Datedif 함수의 구분

  - Datedif (start_date, end_date, unit)
  - start / end_date : 년, 월, 일 수를 계산하고자 하는 시작, 종료 날짜 입니다. 
  - unit : 옵션으로 구하고자하는 정보 형식입니다.  ("Y", "M", "D", "YM", "MD", "YD")


4. 그래서 근속연수(몇 년 몇 개월 몇 일 근무)는 어떤 옵션을 사용하는가?

  - 근속 연수는 "몇 년 몇 개월 몇 일 근무"라는 것을 Datedif 함수에서 "Y"년 "YM"개월 "MD"일 근무가 된다.
  - 첫날, 마지막날 포함 여부에 따라서 일수는 "+1"을 해줘야 할 수도 있다.
  - 날짜 서식을 정확하게 사용하고 옵션의 의미를 이해하자.

 
5. 현재 일자를 기준으로 자동으로 근속 년수를 구해 보자 - Today 함수 사용

  - 오늘 날짜는 Today() 함수를 사용할 수 있다. 함수에 입력해줄 인수도 없다. 
  - 다음과 같이 사용이 가능하다. " = DATEDIF(B3, TODAY(), "Y") " 

 

(예제) 010. 근속기간 구하기.xlsx
0.01MB

 

 

[세상의 모든 엑셀 (엑셀팁, 질문)] - 999. 세상의 모든 엑셀(엑셀팁, 질문) 목차

 

999. 세상의 모든 엑셀(엑셀팁, 질문) 목차

[세상의 모든 엑셀 (엑셀팁, 질문)] - 001. (엑셀 팁, 질문) 누적 합계 구하기 - 절대참조/상대참조, 빠른 분석 도구 [세상의 모든 엑셀 (엑셀팁, 질문)] - 002. (엑셀 팁, 질문) 날짜 칸 나누어 입력하기

nextmeok.tistory.com

 

 

 

* 엑셀 관련 궁금하신 거나 어려운 점이 있으시면 자유롭게 질문을 해주세요.
* 가능한 도움을 드릴 수 있도록 하겠습니다.
* 저도 많이 알지는 못하지만 누구나 그렇듯 시작이란 게 있고 경험이란 게 다를 것 같습니다.
* 편하게 문의하시면 됩니다. 저도 모를 수 있다. 감안해 주시고.

  - ILU, SH -

반응형

댓글