1. 정의
몇 개월 전, 후의 말일을 구해주는 함수로서, End Of Month라고 하면 이해하기 쉽습니다.
=EO까지 입력하면 EOMONTH 함수명이 표시되기 때문에 실수할 염려는 없지만,
함수명이 EOfMonth가 아닌 점 주의해야 합니다.
위와 같이 =eo까지 입력하면 EOMONTH 함수명이 표시되므로 Tab키를 누르거나, 마우스로 EOMONTH 함수명을 더블 클릭해서 함수명을 완성할 수 있습니다.
2. 구문
EOMONTH(start_date, months)
인수가 두 개인데, 모두 필수 요소입니다.
- start_date : 날짜 형식 또는 숫자로 입력하며, 텍스트로 입력하면 에러가 발생할 수 있다고 하는데, 문제없습니다.
- months : 몇 개월 전, 후를 지정하는 숫자입니다. 입력하지 않고 엔터 키를 치면 1이 되지 않고, "너무 적은 인수를 입력했다"는 에러 메시지가 표시됩니다.
오류 : start_date 또는 EOMonth의 결괏값이 유효한 날짜가 아니면 #VALUE! 에러가 발생합니다.
3. 예제
가. 날짜를 date 함수를 이용해 입력하는 경우
date함수 내에 연, 월, 일을 입력해서 2023-4-18일을 입력한 다음, 1개월 후 말일을 구하기 위해
=EOMONTH(DATE(2023,4,18),1)라고 입력하면
45077이란 숫자가 반환됩니다.
이것은 1900-01-01로부터의 일련번호로서 표시형식을 간단한 날짜형식으로 변경하면 날짜 형식으로 변경됩니다.
홈 탭 > 표시 형식 그룹에서 일반을 누른 후 간단한 날짜를 선택해서 표시형식을 변경하면
2023-5-31이라고 날짜로 표시됩니다.
결괏값은 2023-05-31로 2023-04-18의 다음 달 말일입니다.
나. 날짜로 월-일만 입력하는 경우
콘 따옴표 안에 월-일만 입력하면 해당하는 연도가 채워져서 계산됩니다.
따라서, =EOMONTH("4-18",1)과 같이 입력하면 4-18은 2023-04-18이 되며, 1달 후 날짜에 해당하는 45077이란 숫자가 구해집니다. 마찬가지로 표시형식을 변경하면 2023/05/31로 표시됩니다.
다. 날짜를 숫자로 입력하는 경우
45077이 2023-05-31에 해당하는 숫자이므로
=EOMONTH(45077,1)라고 수식을 입력하면 45107이란 숫자가 구해지는데,
마찬가지로 간단한 날짜 형식으로 표시하면 5/31의 다음 달 말일인 2023-06-30입니다.
라. 다른 셀을 참조해서 날짜를 입력하는 경우
A5셀에 4/18이라고 입력하면 04월 18일로 표시되는데, 수식 입력줄을 보면 2023-04-18입니다.
그리고, 월 수에 -1이라고 입력하고,
C5셀에 =eomonth(a5,b5)라고 입력하면
45016으로 표시되는데, 간단한 날짜 형식으로 변경하면 2023-03-31 맞습니다.
마. 다른 셀을 참조해서 숫자를 입력하는 경우
위에서 2023-03-31이 숫자로는 45016이라는 것을 알았으니
A6셀에 45016, B6셀에 1이라고 입력한 다음
C6셀에 =eomonth(a6,b6)이라고 입력하면 4월 말이므로 30을 더한 숫자 45046이 구해집니다.
Ctrl키를 누른 상태에서 마우스로 A6셀과 C6셀을 클릭한 다음 간단한 날짜 표시형식으로 변경하면
2023-03-31과 2023-04-30으로 표시됩니다.
바. 시작일을 존재하지 않는 날짜로 입력한 경우
A7셀에 존재하지 않는 날짜를 입력하면 다른 날짜와는 달리 오른쪽 정렬이 안되고 왼쪽 정렬이 됩니다. 이것은 날짜가 아니라 문자라는 의미입니다.
이번에는 마우스로 B6셀에서 C6셀까지 끌어서 두 셀을 선택한 다음, Ctrl키를 누른 상태에서 오른쪽 아래 채우기 핸들을 C7셀까지 끌면
Microsoft 사이트의 설명과는 달리 #VALUE! 에러가 발생합니다.
C8셀에 =EOMONTH("2023-03-32",1)라고 입력해도 마찬가지로 #VALUE! 에러가 발생합니다.
사. 윤년인 경우
A9셀에 2020-01-31을 입력합니다. 이때 연도를 2020이라고 숫자 4개를 모두 입력할 필요 없이 20이라고 2개만 입력해도 2020이라고 인식합니다.
그리고, C9셀에 =EOMONTH(A9,B9)라고 입력하면
43890이 구해지는데,
간단한 날짜 표시형식으로 바꾸면 2020-02-29입니다.
윤년인 경우에도 말일이 제대로 구해지는 것을 알 수 있습니다.
이번에는 A10셀에 20/3/31이라고 입력하고(03이 아니라 3으로 입력하고 -이 아니라 /로 입력해도 됨), C10셀에
=EOMONTH(A10,B10)이라고 한 달 전의 말일을 구하면 2020-02-29가 정상적으로 구해집니다.
'Excel' 카테고리의 다른 글
두 개 이상 조건을 만족하는 값을 찾는 여러가지 방법 (0) | 2023.04.21 |
---|---|
SumProduct 함수 - 곱한 것의 합을 반환 (0) | 2023.04.20 |
WeekNum과 ISOWeekNum 함수 - 주 번호 반환 (0) | 2023.04.14 |
DateValue, TimeValue : 텍스트 형식의 날짜, 시간을 정수 또는 소수로 변환 (0) | 2023.04.13 |
영업일 기준 전후 날짜 구하기 - Workday, Workday.Intl 함수 (0) | 2023.04.12 |