엑셀 만기일 계산하고 D-30 표시하기

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • 시작일과 기간(개월)이 있으면 만기일은 =EDATE(시작일,개월 수)로 구합니다.
  • 남은 일수는 만기일-TODAY()이고, IF로 30일 이내만 "D-23"처럼 표시합니다.
  • 행 전체를 색칠하려면 조건부 서식 규칙에 =AND($E2>=0,$E2<=30)을 넣습니다.

계약·약정·자격증처럼 기간이 정해진 일은 만기일을 놓치면 곤란합니다. 영업을 하다 보면 고객별 갱신일이나 납입 만기일을 챙겨 미리 연락 일정을 잡아야 하는데, 명단이 길면 달력만으로는 빠뜨리기 쉽습니다. 엑셀에 시작일과 기간만 적어 두면 만기일, 남은 일수, "D-30" 표시까지 자동으로 따라오게 만들 수 있습니다.

생활에서도 쓸 곳이 많습니다. 적금 만기, 휴대전화 약정 종료일, 여권 만료일 같은 날짜를 한 표에 모아 두면 한눈에 보입니다. 엑셀 공부 중이라면 날짜 함수 EDATE·TODAY와 IF, 그리고 조건부 서식의 "수식 규칙"을 한 번에 연습할 수 있는 좋은 예제입니다. 목적별 함수 조합 시리즈의 한 편입니다.

만기일 계산 D-30 알림 - EDATE TODAY 조합

예제 표 — 시작일과 기간

A열 이름, B열 시작일, C열 기간(개월)입니다. D~F열을 수식으로 채웁니다. 결과를 날마다 똑같이 보여 드리려고 H1에 기준일 2026-09-22를 적어 두었습니다. 실제로는 H1에 =TODAY()를 넣으면 파일을 열 때마다 오늘 날짜로 바뀝니다. 이름과 날짜는 모두 가상입니다.

ABCDEFGH
1이름시작일기간(개월)만기일남은 일수표시기준일2026-09-22
2김민준2025-10-1512
3이서연2024-03-2530
4박지호2021-09-2260
5최수아2026-01-1012
6정하윤2023-08-0136
7강도윤2025-11-0512
8윤지우2016-10-20120
9한지민2026-03-026

완성 수식 — D2·E2·F2에 넣고 9행까지 채우기

셀수식구하는 것
D2=EDATE(B2,C2)만기일
E2=D2-$H$1남은 일수
F2=IF(E2<0,"만기 지남",IF(E2=0,"D-DAY",IF(E2<=30,"D-"&E2,"")))표시
  1. D2에 만기일 수식을 넣습니다. 46310 같은 숫자가 보이면 정상입니다. EDATE는 날짜를 일련번호로 돌려주기 때문에, D열을 선택해 셀 서식의 표시 형식을 날짜로 바꾸면 2026-10-15로 보입니다.
  2. E2에 남은 일수 수식을 넣습니다. 23이 나오면 정상입니다. 날짜처럼 보이면 표시 형식을 일반으로 바꿉니다.
  3. F2에 표시 수식을 넣습니다. D-23이 나옵니다.
  4. D2:F2를 함께 선택하고 채우기 핸들을 9행까지 끌어내립니다.
A 이름D 만기일E 남은 일수F 표시
2김민준2026-10-1523D-23
3이서연2026-09-253D-3
4박지호2026-09-220D-DAY
5최수아2027-01-10110(빈칸)
6정하윤2026-08-01-52만기 지남
7강도윤2026-11-0544(빈칸)
8윤지우2026-10-2028D-28
9한지민2026-09-02-20만기 지남

30일 안에 만기가 오는 네 사람(김민준·이서연·박지호·윤지우)에만 D-표시가 붙고, 이미 지난 두 사람은 "만기 지남"으로 따로 보입니다.

수식 풀어 보기 — 안쪽부터 한 겹씩

1단계: EDATE로 몇 개월 뒤 날짜 구하기

EDATE(B2,C2)는 시작일 B2에서 C2개월 뒤 날짜를 돌려줍니다. 김민준은 2025-10-15에서 12개월 뒤라 2026-10-15입니다. 날짜에 365를 더하는 방식과 달리 월 단위로 계산하므로 윤년이나 달마다 다른 일수를 신경 쓰지 않아도 됩니다. Microsoft 문서에 따르면 개월 수를 음수로 넣으면 과거 날짜가 되고, 소수를 넣으면 소수점 아래는 버려집니다.

2단계: 기준일을 빼서 남은 일수 구하기

엑셀은 날짜를 1900-01-01을 1로 하는 일련번호로 저장합니다. 그래서 두 날짜를 빼면 그 사이의 일수가 나옵니다. D2-$H$1은 2026-10-15에서 2026-09-22를 뺀 23입니다. 이미 지난 만기는 정하윤처럼 -52 같은 음수가 됩니다.

3단계: IF를 세 번 겹쳐 표시 정하기

F2의 IF는 바깥부터 차례로 질문합니다.

  1. E2<0 — 남은 일수가 음수인가? 그렇다면 "만기 지남". 정하윤(-52)이 여기서 끝납니다.
  2. E2=0 — 오늘이 만기일인가? 그렇다면 "D-DAY". 박지호(0)가 여기서 끝납니다.
  3. E2<=30 — 30일 이내인가? 그렇다면 "D-"&E2, 즉 "D-"와 23을 이어 붙인 D-23. 아니면 빈칸("")입니다.

순서가 중요합니다. 음수 검사를 맨 앞에 두지 않으면 -52도 "30 이하"에 걸려 "D--52"처럼 이상한 표시가 나옵니다.

4단계: 조건부 서식으로 행 전체 색칠하기

글자 표시만으로 부족하면 30일 이내인 행 전체에 색을 칠합니다. 메뉴 이름은 Microsoft 문서 기준입니다.

  1. A2:F9를 선택합니다.
  2. 홈 탭 > 조건부 서식 > 새 규칙을 선택합니다.
  3. 규칙 유형에서 수식을 사용하여 서식을 지정할 셀 결정을 고릅니다.
  4. 다음 수식이 참인 값의 서식 지정 칸에 아래 수식을 입력합니다.
  5. 서식을 눌러 채우기에서 색을 고르고 확인을 누릅니다.
=AND($E2>=0,$E2<=30)

이 수식은 행마다 참·거짓을 돌려줍니다. 예제에서는 김민준·이서연·박지호·윤지우 행이 참이 되어 색이 칠해집니다.

규칙 수식의 $E2가 핵심입니다. 열 앞에만 $를 붙여 "어느 칸을 칠하든 E열을 보라"고 고정하고, 행 번호 2는 그대로 두어 3행은 E3, 4행은 E4를 보게 합니다. $E$2로 쓰면 모든 행이 2행 하나만 보고 한꺼번에 칠해지거나 한꺼번에 안 칠해집니다. E2로 쓰면 B열 칸은 F열을, C열 칸은 G열을 보는 식으로 어긋납니다. 규칙 수식은 선택 범위의 첫 행(여기서는 2행) 기준으로 적습니다.

자주 막히는 곳

  • 만기일이 5자리 숫자로 보인다 — 오류가 아닙니다. 날짜 일련번호가 그대로 보이는 것이니 표시 형식을 날짜로 바꿉니다.
  • 남은 일수가 매일 바뀌지 않는다 — 기준일을 H1처럼 날짜로 직접 적어 둔 경우입니다. =TODAY()로 바꿉니다. Microsoft 문서에 따르면 TODAY는 통합문서를 열 때 갱신되며, 계산 설정에 따라 재계산 시점이 달라질 수 있습니다.
  • #VALUE! 오류 — 시작일 칸이 날짜가 아닌 글자로 들어간 경우입니다. Microsoft 문서도 시작일이 유효한 날짜가 아니면 EDATE가 #VALUE!를 돌려준다고 안내합니다. 칸을 날짜로 다시 입력하거나 DATE 함수로 만듭니다.
  • 기간이 연 단위 — 3년 계약이라면 =EDATE(B2,3*12)처럼 12를 곱해 개월로 바꿉니다.
  • 만기일의 정의 — 계약에 따라 만기일이 "시작일과 같은 날짜"인지 "그 전날"인지 다를 수 있습니다. 전날이 만기라면 =EDATE(B2,C2)-1로 씁니다. 실제 날짜는 계약서나 증권의 기재 내용을 기준으로 확인하세요.

다른 방법 — 표시 방식 바꾸기

"D-30"이 아니라 7일, 60일처럼 기준을 바꾸고 싶다면 수식 안의 30을 직접 고치는 대신 기준 일수를 한 칸(예: H2)에 적고 $H$2로 참조합니다. 그러면 H2 숫자만 바꿔도 F열 표시와 조건부 서식이 함께 바뀝니다. 조건부 서식 규칙도 =AND($E2>=0,$E2<=$H$2)로 맞춥니다.

월말 기준으로 정산하는 일이라면 EDATE 대신 그달의 마지막 날을 돌려주는 EOMONTH를 쓰는 편이 맞을 수 있습니다. 목적에 따라 고릅니다.

자주 묻는 질문

이미 지난 날짜를 "D+52"처럼 표시할 수 있나요?

남은 일수가 음수일 때 절댓값을 붙이면 됩니다. =IF(E2<0,"D+"&ABS(E2),"D-"&E2)로 쓰면 정하윤은 D+52, 한지민은 D+20, 김민준은 D-23으로 나옵니다.

남은 일수 대신 만기일이 가까운 순으로 보고 싶어요.

E열(남은 일수)을 기준으로 오름차순 정렬하면 지난 것부터 가까운 순서로 줄을 섭니다. 지난 것을 빼고 보려면 필터에서 E열을 0 이상으로 거릅니다.

TODAY()를 칸마다 넣으면 안 되나요?

넣어도 계산은 됩니다. 다만 기준일을 한 칸에 두고 절대 참조로 가리키면, 특정 날짜를 기준으로 미리 계산해 보고 싶을 때 그 칸만 바꾸면 되어 편합니다.

함께 보면 좋은 글: 엑셀 조건부 서식 사용법 총정리, 엑셀 EOMONTH 함수로 월초 월말 구하기, 엑셀 IF 함수와 중첩 IF 사용법 · 전체 목록은 엑셀 가이드 목차에서 볼 수 있습니다.

참고: EDATE 함수 (Microsoft 지원), TODAY 함수 (Microsoft 지원), 행 또는 열에 색 적용 — 수식으로 조건부 서식 (Microsoft 지원)

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger