설명)
날짜에서 연도만 추출하기
: YEAR 함수는 날짜에서 연도(Year)를 추출하여 표시하는 함수이다.
- 연도는 1900 에서 9999까지의 정수로 표시된다.
▶ 1900-1-1에서 9999-12-31 사이의 년도만 표시할 수 있다.
▶ 이외의 년도는 #VALUE! 또는 #NUM! 오류가 발생한다.
형식 : YEAR(날짜) : ‘날짜’에서 연도를 추출합니다.
★ 엑셀에서 버그인 부분 입니다.
1900년의 2월은 28일만 있습니다. 윤년이 아닙니다. 엑셀은 1900년을 윤년으로 인식합니다. 알려진, 유명한 버그입니다.
유래를 밝힌 글에 따르면 엑셀 이전에 나온 LOTUS 123 이라는 프로그램이 지닌 버그였다고 합니다.
도스 운영체제에서 작동하는 스프레드시트에 버그를 그대로 엑셀로 넘어오면서 계속 가지고 있습니다.
일련번호가 차이가 있으나, 계산하는데는 무리가 없으니, 참고 바랍니다.
● 실습1. 확인)
년월일은 '-', '/' 이 두가지만 년도로 인식한다.
순서 : 타이핑하고, 셀서식 > 표시형식 > 일반
년월일 일련번호
1900-01-01 : 1
1900-02-28 : 59
1900-02-29 : 60
1900-03-01 : 61
1900-12-31 : 366
1901-01-01 : 367
엑셀 1900년도 1월 1일 : 일련번호 1부터 시작해서 12월 31일은 365일
2월 28일까지 밖에 없지만, 29일까지 엑셀이 있는것으로 간주하게되어, 하루가 더 생긴것처럼 된다.
1900-12-31은 366일이 된다.
그래서, 1901년 1월1일은 367일로 된다.
● 실습2. 확인)
A열 타이핑하고, B열 함수넣고 결과 확인
8월에는 31일이 마지막 날이다. 하지만 32일은 없으므로, 결과가 오류메세지를 출력하게 된다.
년월일의 규칙에 맞게 날짜를 입력해야 한다.
● 실습3. 확인)
▶ 일련번호가 0 은 1900-01-00 이다.
▶ 일련번호가 1부터 1900-01-01 이므로 위에서 년도는 1900년도가 추출된다.
-----------------------------------------------------------------------------------------
'=YEAR(2019-10-12) 결과 : 1905 // 1905년
=2019-10-12 = 1997일
일련번호 : 1997 --> 1905년 6월 19일
year(2019-10-12) --> year 함수이므로, 1905 만 출력
month(2019-10-12) --> month 함수이므로, 6 만 출력
DAY(2019-10-12) --> day 함수이므로, 19 만 출력
셀을 참조할때는 “” 가 필요없습니다.
A7 주소 : 2019-10-12
'=YEAR(A7) 결과값 : 2019
'=MONTH(A7) 결과값 : 10
'=DAY(A7) 결과값 : 12
하지만, 직접 입력할때는 “ ” (쌍따옴표)를 입력해서 날짜를 넣어줘야
날짜로 인식하게 됩니다.
쌍따옴표를 입력하지 않고, 입력하면, 2019-10-12 빼기 계산을 해서, 1997 의 결과값이 나옵니다.
1997은 일련번호로써, 날짜로는 1905년 6월 19일로 컴퓨터는 인식하게 되어,
year함수는 年도만, month함수는 月만, day함수는 日만 출력하게 됩니다.
year("날짜")
'=YEAR("2019-10-12")
확인작업)
1900-12-31 > 셀서식 > 일반 > 일련번호가 나온다. 366일
2월 29일이 추가 되어있어서 오류가 있습니다.
A11주소에 2019-10-12 입력하면, 오른쪽 // year(a11) --> 2019
A12주소에 1899-12-31 입력하면, 왼쪽 // year(a12) --> #VALUE!
이건 숫자를 입력할 때, 오른쪽,
문자를 입력하면, 왼쪽 인 것처럼
1899-12-31은 엑셀에서 날짜로 인식 안한다. 문자처리 됩니다.
수정)--------------------------------
2016버젼의 경우
1900-01-00 // 왼쪽 정렬
1900-01-01 // 오른쪽 정렬
일련번호 0은 그냥 1900년도만 출력해 줍니다. 1900년만을 의미할뿐
1900-01-00은 아닙니다.
일련번호 1은 1900년 1월 1일입니다.