애들센스


(엑셀) 마지막 일자 구하기 오피스/VBA/Office.JS

이 팁을 알기 전에는 마지막 일자를 구하는 방법은 대충 이러했다.

어느 달의 마지막 일자를 구하려면
1) 한달을 더한 다음
2) 그 달의 1일을 날짜로 만들고
3) 다시 거기서 하루를 빼는 식
이었다.

그런데 다음과 같이 DATE()함수를 가지고 쉽게 구할 수 있다.
=DATE(year, month, 0)

일자를 0으로 두면 month의 이전 달 마지막 날짜를 가져온다. 즉 이전 달의 마지막 일자를 물어다 준다.

가령 6월이라면
=DATE(2019, 6, 0)은 '2019-05-31'을 돌려준다.

만일 1월이라면 어떨까?
=DATE(2019, 1, 0)은 '2018-12-31'을 돌려준다.

만일 month자리에 0을 넣으면?
=DATE(2019, 0, 0)은 '2018-11-30'을 돌려준다.
month=0으로 2019년의 직전월인 12월이 나오고 다시
day=0이므로 12월의 이전 달인 11월을 가리키는 것이다.

만일 month자리에 -1을 넣으면?
=DATE(2019, -1, 0)은 '2018-10-31'을 돌려준다.

즉 month자리에 0이하 값을 넣으면 이전 연도의 월을 가리키는 것이고
day 자리에 0을 넣으면 이전 달의 마지막 일자를 가져온다.

덧글

  • 엑셀노동자 2019/06/07 11:13 # 삭제 답글

    감사합니다~ 덕분에 잘 썼습니다
  • 타임버드 2019/06/09 19:56 #

    도움이 되셨으면 합니다
댓글 입력 영역