들어가기 전에
Excel의 EOMONTH 함수는 과거, 현재 또는 미래 달의 마지막 날을 반환합니다. 월말 마감일, 만료일, 월별 수익 또는 예측을 계산해야 할 때 EOMONTH 함수를 사용하여 작업 속도를 높이는 방법을 소개합니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: How to Use the EOMONTH Function in Microsoft Exce
- URL: https://www.howtogeek.com/microsoft-excel-eomonth-function-how-to-use/
EOMONTH 구문
EOMONTH 함수에는 두 개의 인수가 필요합니다.
=EOMONTH(a, b)
- a: 시작 날짜(모든 연도의 모든 달의 임의의 날짜)
- b: 시작 날짜의 이전 또는 이후 개월 수
Excel은 시작 날짜를 가져와서 지정된 개월 수만큼 앞이나 뒤로 이동한 후, 해당 월의 마지막 날짜를 반환합니다.
인수 a는 시작 날짜, DATE 함수를 사용하여 입력한 시작 날짜 또는 TODAY 함수 와 같은 다른 함수를 사용하여 생성된 시작 날짜가 포함된 셀에 대한 참조가 될 수 있습니다.
주장 a설명
| 인수 a | 설명 |
| =EOMONTH( A1, | 시작 날짜는 A1 셀에 입력된 날짜 |
| =EOMONTH(DATE(2025,05,31), | 시작일은 2025년 5월 31일 |
| =EOMONTH(TODAY(), | 시작일은 오늘 날짜 |
인수 b: 양수는 시작일 이후의 개월 수를, 음수는 시작일 이전의 개월 수를 나타내며, 0은 같은 달에 머무릅니다. 이 인수를 직접 하드코딩하거나, 앞뒤로 이동할 개월 수가 포함된 셀을 참조할 수 있습니다.
주장 b설명
| 인수 b | 설명 |
| =EOMONTH(A1, 5) | 셀 A1의 시작 날짜 로부터 5개월 후의 해당 달의 마지막 날짜 반환 |
| =EOMONTH(A1, -5) | 셀 A1의 시작 날짜 로부터 5개월 전의 마지막 날짜 반환 |
| =EOMONTH(A1, 0) | 셀 A1의 시작 날짜의 해당 월의 마지막 날짜 반환 |
| =EOMONTH(A1, A2) | 셀 A1에 시작 날짜를 입력하고, 셀 A2에 있는 개월 수만큼 앞으로 이동한 다음, 결과 달의 마지막 날짜 반환 |
| =EOMONTH(A1, -A2) | 셀 A1의 시작 날짜를 입력하고, 셀 A2의 개월 수만큼 뒤로 이동한 다음, 결과 달의 마지막 날짜 반환 |
미래 월말 날짜 계산
Excel에서 EOMONTH 함수를 가장 일반적으로 사용하는 방법은 미래의 한 달의 마지막 날짜를 반환하는 것입니다.
여러분이 건설 회사의 프로젝트 관리자라고 상상해 보세요. 직원 10명에게 프로젝트를 할당했습니다. 각 프로젝트는 완료하는 데 일정 시간이 걸리고, 완료 기한은 매월 말까지입니다.

E열의 종료 날짜를 계산하려면 EOMONTH 함수를 사용합니다, E2 셀에 다음 수식을 입력하세요.
=EOMONTH([@[Start date]], [@Months])
예시 스크린샷처럼 데이터가 Excel 표 형식으로 지정된 경우 , 수식은 열 머리글에 대한 구조화된 참조를 사용하며 , 첫 번째 셀에 수식을 입력하면 열이 자동 완성됩니다. 반면, 데이터가 일반 범위인 경우, 직접 셀 참조를 사용하며, 채우기 핸들을 사용하여 열의 나머지 셀에 수식을 적용해야 합니다.

위 스크린샷의 2행을 예로 들어 보겠습니다. 시작일은 2025년 1월 4일이고, 그로부터 3개월 후는 2025년 4월 4일이며, 그 달의 마지막 날은 2025년 4월 30일입니다.
날짜와 개월 수를 하드코딩하는 대신 셀 참조를 사용하면 두 가지 이점이 있습니다 . 첫째, 수식이 각 행의 데이터에 따라 정확하게 계산됩니다. 둘째, 특정 프로젝트의 기간이나 시작일을 변경해야 하는 경우 수식을 편집하지 않고도 B열이나 D열의 값만 수정하면 됩니다.
지난 월말 날짜 계산
EOMONTH 함수는 시작일로부터 특정 개월 전의 월의 마지막 날짜도 알려 줍니다. 헷갈리시나요? 실제 예를 들어보죠.
이 예에서는 10개의 프로젝트가 적힌 표가 있고, 직원들이 E열에 적힌 마감일을 맞추기 위해 프로젝트를 시작해야 하는 가장 늦은 시점을 알아내려고 합니다.

구체적으로, 프로젝트가 5개월이 걸리는 경우, 마감일로부터 6개월 전 달의 월말일을 반환하여 프로세스 중 발생할 수 있는 문제에 대비할 수 있는 여유 공간을 확보해야 합니다. 이를 위해 D2 셀에 다음 수식을 입력하고 Enter 키를 누릅니다.
=EOMONTH([@Deadline], -[@Months]-1)
여기서 각 행의 [@Deadline]은 E열의 마감일을 참조하고, -[@Months]는 Months 열의 개월 수를 뒤로 이동하고, -1은 한 달 뒤로 이동하며, EOMONTH 함수는 결과 월의 마지막 날짜를 반환합니다.

따라서 2행의 프로젝트에 대해 EOMONTH는 마감일인 2026년 1월 27일을 입력받아 5개월 후인 2025년 8월로 이동한 후, 전달의 월말일인 2025년 7월 31일을 반환합니다. 결과적으로 담당자인 Mark가 2025년 7월 31일에 프로젝트를 시작하면 모든 것이 계획대로 진행된다면 며칠의 여유 시간을 두고 5개월 프로젝트를 완료할 수 있게 됩니다.
장기 과거 및 미래 월말 날짜 계산
Excel의 EOMONTH 함수는 시작일로부터 주어진 개월 수만큼 앞이나 뒤로 이동한 후 월말일을 반환하는 데 매우 유용합니다. 그런데 주어진 연도만큼 앞이나 뒤로 이동하고 싶다면 어떻게 해야 할까요? EOMONTH 함수가 이 문제도 해결해 줍니다.
시작일과 연도 기반 기간을 기준으로 각 장기 프로젝트의 종료일을 반환하는 예를 살펴보겠습니다. 특히, 종료일은 프로젝트 진행 상황을 검토하는 특정 월의 말일이어야 합니다.

특정 연도를 앞뒤로 이동하는 원리는 특정 월을 앞뒤로 이동하는 원리와 거의 같습니다. 단, EOMONTH 함수는 연도가 아닌 월에만 적용되므로 연도 값에 12를 곱해야 한다는 점만 다릅니다.
E2 셀에 다음을 입력합니다.
=EOMONTH([@[Start date]], [@Years]*12)
Enter 키를 누르면 다음과 같은 결과가 나타납니다.

2행의 Mark 프로젝트의 경우 위에 사용된 EOMONTH 수식은 시작일인 2025년 1월 4일을 입력하고, 2년(24개월) 후인 2027년 1월 4일로 이동한 후, 월말일인 2027년 1월 31일을 반환합니다.
주어진 연도만큼 뒤로 돌아가려면 두 번째 인수 앞에 빼기 기호(-)를 붙입니다.
=EOMONTH([@[Start date]], -[@Years]*12)
현재 월의 월말일 계산
Excel의 EOMONTH 함수는 주로 과거 또는 미래의 월 종료 날짜를 계산하는 데 사용되지만 현재 월의 월 종료 날짜를 반환할 수도 있습니다.
각 월별 예산을 별도의 워크시트에 정리한 Excel 통합 문서를 만들었다고 가정해 보겠습니다. 체크박스 와 SUMIF 함수를 사용하여 완료된 지출과 예정된 지출을 계산하는 것 외에도, EOMONTH 함수를 사용하여 해당 월의 남은 일수를 계산하고, 이를 통해 매일 지출할 수 있는 최대 금액을 계산하려고 합니다.

먼저 B2 셀에 월말 날짜에서 오늘 날짜를 빼는 수식을 만듭니다. 이 수식은 해당 월의 남은 일수를 반환합니다. 다음과 같이 입력하세요.
=EOMONTH(TODAY(), 0)-TODAY()
- EOMONTH(TODAY(),0): 현재 월의 마지막 날짜의 일련 번호 반환
- TODAY(): 현재 날짜의 일련 번호 반환
날짜와 일련 번호를 다루고 있으므로 Excel에서 결과를 날짜로 변환할 수 있습니다. 실제로는 일수를 반환해야 할 수도 있습니다. 이 경우, 셀을 선택하고 리본의 홈 탭에 있는 숫자 그룹의 드롭다운 메뉴에서 "일반" 숫자 서식을 선택하세요.
이제 B7 셀에서 하루에 얼마를 쓸 수 있는지 계산할 수 있습니다.
=B6/B1
월말 날짜 시퀀스 생성
Excel에서 함수를 결합하면 스프레드시트를 한 단계 더 발전시킬 수 있습니다. 이에 대한 좋은 예로는 EOMONTH 수식에 SEQUENCE 함수를 중첩하여 월말 날짜 목록을 반환하는 것입니다.
EOMONTH 함수의 두 번째 인수 역할을 하는 SEQUENCE 함수에는 4개의 인수가 있습니다.
=SEQUENCE(a, b, c, d)
- a: 반환할 행의 수
- b: 반환할 열의 수
- c : 시퀀스의 첫 번째 숫자
- d: 시퀀스의 각 값 사이의 증가값
인수가 네 개 있지만, 원하는 결과에 따라 모두 사용할 필요는 없을 수 있습니다. 예를 들어, SEQUENCE 함수와 EOMONTH 함수를 함께 사용하여 2025년 월말 날짜 배열을 생성하는 방법은 다음과 같습니다.
=EOMONTH(DATE(2024,12,31), SEQUENCE(12))

SEQUENCE 함수는 Excel에 12행 시퀀스를 반환하도록 지시하고, EOMONTH 함수는 시퀀스를 2024년 12월 31일 이후의 달부터 시작하는 월말 날짜 배열로 정의합니다.
SEQUENCE 함수는 동적 배열을 반환합니다 . 즉, 수식을 입력한 셀의 결과가 인접 셀로 분산됩니다. 동적 배열 함수는 Excel 표와 호환되지 않으므로 , 입력하는 중첩 수식은 일반 셀에 있어야 합니다.
2025년 1월 31일부터 시작하여 매달이 아닌 2개월마다 월말 날짜를 반환하고 싶다고 가정해 보겠습니다. 이 경우 다음을 입력합니다.
=EOMONTH(DATE(2024,12,31), SEQUENCE(6,,,2))

마지막으로, 분기별 월말 날짜를 반환하려면 다음 수식을 입력합니다.
=EOMONTH(DATE(2025,2,28), SEQUENCE(4,,,3))
여기서 수식의 EOMONTH 부분에 있는 시작 날짜는 1분기가 끝나기 전 달의 날짜이고, 수식의 SEQUENCE 부분에 있는 첫 번째 인수는 Excel에 4행의 결과를 반환하라는 것을 알려주고, 네 번째 인수는 Excel에 각 결과 사이에 3개월(1년 분기)을 건너뛰라는 것을 알려줍니다.

EOMONTH-SEQUENCE 조합을 사용한 후 날짜를 수정하려면 날짜가 포함된 모든 셀을 선택하고 Ctrl + C를 눌러 복사한 후 Ctrl + Shift + V를 눌러 값만 붙여넣습니다. 그러면 값이 더 이상 동적 배열에 포함되지 않으므로 셀 서식을 Excel 표로 지정할 수 있습니다.
마치며
EOMONTH 함수는 주어진 개월 수만큼 앞이나 뒤로 이동하여 결과 달의 마지막 날을 반환합니다. 만약 결과 달의 마지막 날을 반환하려면 EDATE 함수를 대신 사용합니다.
'Excel' 카테고리의 다른 글
| 엑셀 수식 사용 방식을 완전히 다르게 만들어 주는 REDUCE 함수 (0) | 2026.02.27 |
|---|---|
| 몇 분 만에 지저분한 Excel 데이터를 아름답게 만드는 방법 5가지 (0) | 2026.02.24 |
| 오늘(2/22 일) 오후에 새로운 콘텐츠가 오픈됩니다 (0) | 2026.02.22 |
| Excel에서 SORT와 SORTBY: 어떤 것을 사용해야 할까요? (1) | 2026.02.20 |
| Excel의 REDUCE 함수는 훌륭하지만 이것보다 더 신뢰하는 오래된 함수 (0) | 2026.02.19 |
