|
=DATE(YEAR(A1), MONTH(A1)+3, DAY(A1)+4)
엑셀은 자동적으로 MONTH 함수가 12를 초과하거나, DAY함수가 31 을 초과하면 위단위를 올려준다.
예를 들면, 97-8-25에 6개월 10일을 더하면 98-8-25을 되돌려준다.(빼기의 경우에는 +를 -로 바꾸어주면 된다.)
=DATE(YEAR(A1),MONTH(A1)+6, DAY(A1)+10)
일련번호로된 두 날짜는 더하거나 뺄 수 없다. 예를 들면, 1998/1/15 과 1998/6/15을 더하면 의미가 없는 2096/6/30을 되돌린다.
생일로 부터 나이를 구하는 것은 비교적 쉽다. A1에 생일이 있다고 할때 아래 식은 나이를 몇 년 몇 개월 몇 일로 나타내준다.
=DATEDIF(A1,NOW(),"y")&" 년 "& DATEDIF(A1,NOW(),"ym")&" 월 " & DATEDIF(A1,NOW(),"md") & "일"
한 달에 몇일이 있을까를 알아 내려면 다음의 식을 사용하면 된다. 여기서 A1에 1998/3/15이 입력되어 있다 가정한다.
=DAY(DATE(YEAR(A1),MONTH(A1)+1,0))
이 식은 31을 되돌린다. 즉, 1998년 1월에는 31일이 있다는 뜻이다.
아래의 식은 한달의 마지마가 날짜를 되돌린다. AA1에 1998/1/15이 있다고 가정
=DATE(YEAR(A1),MONTH(A1)+1,0)
이 식은 98-01-31을 되돌린다.
아래 식은 지난 달의 마지막 날짜를 되돌린다. AA1에 1998/1/15이 있다고 가정
=DATE(YEAR(A1),MONTH(A1),0)
이 식은 97-12-31을 되돌린다.
특정기간 중 월요일이 몇번 있을까?
두 날짜 사이에 나타나는 월요일이 몇번 일까를 알고자 할 때에는 다음의 배열수식을 사용하면 된다.이 식은 배열식이므로 식을 입력한 후 Ctrl + Shift + Enter를 눌러야 한다.
=SUM(IF(WEEKDAY(A2-1+ROW(INDIRECT("1:"&TRUNC(B2-A2)+1)))=C2,1,0))
위의 식은 다음과 같다고 가정하였다.
A2 : 시작하는 날짜
B2 : 끝나는 날짜
C2 : 구하려는 요일 번호(1=Sunday, 2=Monday, ... , 7=Saturday)
두 날짜간에 몇주일이 있을까?
두 날짜간에 있는 주일 수는 =DATEDIF를 사용하여 구할 수가 없다. 따라서 아래와 같이 수식을 만들어 사용해야 한다. 두 날짜 사이의 날 수를 7로 나누어 정수부만 취해 주(週) 수를 구하고, 날짜 수를 7로 나눈 나머지를 더하여 구한다.
=TRUNC((B1-A1)/7)&" 주일 "&MOD(B1-A1,7)&" 일"
어느 특정일이 무슨요일인가를 알아내려고 =WEEKDAY 함수를 사용하면 1 ~ 7까지 요일을 나타내는 해당 숫자를 되돌린다.(1=Sunday, 2=Monday, ... , 7=Saturday) 이 것을 해당하는 요일로 표시하려면 =TEXT함수를 사용한다.
=TEXT(A1, "ddd") 은 세자로된 영문자 요일을 표시한다. 예. "Mon".
=TEXT(A1,"dddd") 은 완전한 영문자 요일을 표시한다. 예 "Monday".
어느 날짜가 일년 중 몇 번째 주에 속하는 것일까를 알아내려면, 다음식을 사용한다.
=TRUNC(((A1-DATE(YEAR(A1),1,1)) / 7))+1+ IF(WEEKDAY(DATE(YEAR(A1),1,1)) > WEEKDAY(A1),1,0)
이 식은 1 ~ 53 사이의 값으로 나타난다.
=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 인수가 워크시트의 셀에 들어 있다면 해당 셀 주소를 입력하면 된다