[엑셀(Excel)] 두 날짜 사이의 기간 구하기
- DATA입력
A1셀에 "2011-09-01"
B1셀에 "2019-07-25"
- 입력할 수식
C1셀에
=TEXT(DATEDIF(INDIRECT(ADDRESS(ROW(),COLUMN()-2)),INDIRECT(ADDRESS(ROW(),COLUMN()-1))+1,"y"),"00년 ")&TEXT(DATEDIF(INDIRECT(ADDRESS(ROW(),COLUMN()-2)),INDIRECT(ADDRESS(ROW(),COLUMN()-1))+1,"ym"),"00월 ")&TEXT(DATEDIF(INDIRECT(ADDRESS(ROW(),COLUMN()-2)),INDIRECT(ADDRESS(ROW(),COLUMN()-1))+1,"md"),"00일")
입력
- 결과값
07년 10월 25일
- 수식 해석
① INDIRECT( ADDRESS(ROW(),COLUMN()-2) )
⇒ C1셀에 입력한 경우 A1 셀 주소를 클릭한 효과
② DATEDIF(INDIRECT(ADDRESS(ROW(),COLUMN()-2)),INDIRECT(ADDRESS(ROW(),COLUMN()-1))+1,"y")
⇒ A1 셀 주소에 입력된 날짜와 B1 셀 주소에 입력된 날짜의 기간차이를 구함
DATEDIF의 두번째 인자값의 종류는 5가지 - d : 날짜 간격 - m : 월 간격 - y : 년 간격 - ym : 1년 초과분을 제외하고 남은 월만 계산 - md : 1개월 초과분을 제외하고 남은 일만 계산 |
③ TEXT(DATEDIF(INDIRECT(ADDRESS(ROW(),COLUMN()-2)),INDIRECT(ADDRESS(ROW(),COLUMN()-1))+1,"y"),"00년 ")
⇒ 위에서 구한 두 날짜 사이의 간격(정수 값)을 "00년"의 형식으로 표시
④ & 연산자를 이용해 월, 일 값도 추출하기 위해 동일한 수식을 3회 반복
- 특징
날짜 값만 나란히 입력되어 있으면, 별도의 셀주소를 클릭하지 않아도 됨
날짜 값은 항상 왼쪽보다는 오른쪽이 더 나중 날짜여야 함
기간계산의 원래 목적을 위해 B열에 입력되는 날짜는 +1이 반영되어있음. (2011-09-01 ~ 2011-09-02 일 경우 2일이 나오도록)