목차
왜 날짜에 +30을 하면 안 될까요?
반갑습니다. 실무 엑셀의 정석을 알려드리는직장인 엑셀 꿀팁 저장소입니다!
지난 포스팅에서는 빠른 채우기(Flash Fill)로 텍스트 데이터를 1초 만에 정리하는 법을 다뤘습니다. 데이터 정리가 끝났다면, 이제 직장인들의 영원한 숙제인 ‘날짜 계산’을 정복할 차례입니다.
많은 분들이 “1개월 뒤”를 계산할 때, 단순히 날짜 셀에 +30을 더하곤 합니다. 하지만 이건 매우 위험한 방식입니다. 1년 12달 중 30일인 달은 4개밖에 없고, 31일인 달은 7개, 심지어 2월은 28일이나 29일이니까요.
단순히 +30을 하면 날짜가 하루이틀씩 밀리기 시작하고, 나중에는 계약 만료일이나 대금 지급일이 완전히 틀어지는 대참사가 발생합니다. 오늘 소개할 엑셀 EDATE EOMONTH 함수 두 가지만 알면, 달력을 보며 손가락으로 날짜를 셀 필요가 완전히 사라집니다.
N개월 뒤 같은 날짜를 구하는 EDATE 함수
EDATE는 ‘Exact Date’의 약자처럼 생각하시면 편합니다. 시작일로부터 정확히 N개월 전이나 후의 날짜를 계산해 줍니다.
- 사용처: 수습 종료일, 계약 만료일, 적금 만기일 등 “N개월 뒤 같은 날”을 구할 때.
- 공식:
=EDATE(시작일, 개월수)
예를 들어 1월 31일로부터 1개월 뒤를 구하면 어떻게 될까요? 2월은 31일이 없죠? 똑똑한 엑셀은 자동으로 2월의 마지막 날인 28일(혹은 29일)을 반환합니다. 이게 바로 단순히 +30을 하는 것과는 차원이 다른 디테일입니다.

더 상세한 기술적 사양은 마이크로소프트 EDATE 함수 공식 문서를 참고하세요.
월말 결제일을 구하는 EOMONTH 함수
EOMONTH는 ‘End Of Month’의 약자입니다. 특정 날짜로부터 N개월이 지난 후의 ‘그달의 마지막 날짜’를 구해줍니다.
- 사용처: 세금계산서 발행일, 카드 대금 결제일, 월말 보고서 마감일 등.
- 공식:
=EOMONTH(시작일, 개월수)
회계팀이나 경리 업무를 보시는 분들에게는 구세주와 같은 함수입니다.
“다음 달 말일까지 지급” 같은 조건을 계산할 때, 28일인지 30일인지 31일인지 고민할 필요 없이 =EOMONTH(날짜, 1) 하나면 끝납니다.

실전 예제: 계약 만료일과 결제 예정일 계산
백문이 불여일견, 실제 업무 상황을 가정해 보겠습니다. 입사일 기준으로 수습 종료일을 구하고, 청구일 기준으로 입금 예정일을 구해보겠습니다.
1. 수습 기간 종료일 구하기 (3개월)
입사일이 A2 셀에 있다면 수식은 다음과 같습니다.
=EDATE(A2, 3)
이렇게 하면 윤년이든 평년이든 상관없이 정확히 3개월 뒤의 날짜를 찍어줍니다.

2. 다음 달 말일 결제일 구하기
청구일이 A2 셀에 있고, 조건이 “익월 말일 지급”이라면 수식은 다음과 같습니다.
=EOMONTH(A2, 1)
여기서 숫자 1은 ‘1개월 뒤’를 의미합니다. 만약 ‘당월 말일’이라면 0을 넣으면 됩니다.

주의: 날짜가 숫자로 나올 때 해결법
함수를 잘 입력했는데 결과가 2024-05-01이 아니라 45413 같은 알 수 없는 5자리 숫자로 나올 때가 있습니다. 당황하지 마세요. 엑셀이 날짜를 관리하는 방식인 ‘일련번호(Serial Number)’가 그대로 보였을 뿐입니다.
해결 방법은 아주 간단합니다.
- 해당 셀을 선택하고 단축키 [Ctrl + 1]을 누릅니다.
- 표시 형식 탭에서 [날짜]를 선택하고 확인을 누릅니다.
- 또는 상단 메뉴의 표시 형식 목록상자에서 ‘일반’을 ‘간단한 날짜’로 바꿔주면 됩니다.
마무리하며
오늘은 직장인의 필수 함수인 엑셀 EDATE EOMONTH 사용법에 대해 알아봤습니다. 이제 달력을 보며 날짜를 세는 원시적인 방법에서 탈출하시길 바랍니다.
다음 시간에는 데이터를 보기 좋게 꾸며주는 것뿐만 아니라, 데이터 분석의 도구로도 쓰이는 조건부 서식으로 데이터 시각화하기 편으로 돌아오겠습니다. 여러분의 칼퇴를 응원합니다!
