엑셀 날짜 계산 | 일수·몇 개월 뒤 날짜·영업일을 함수로 구하는 법
엑셀 날짜 계산은 목적에 맞는 함수 하나만 고르면 끝나요.
두 날짜 사이 일수는 DAYS, 몇 개월 뒤 날짜는 EDATE, 주말을 뺀 영업일은 NETWORKDAYS를 씁니다.
| 구하려는 것 | 쓰는 함수 |
|---|---|
| 두 날짜 사이 일수 | =DAYS(종료일,시작일) |
| 몇 개월 전·후의 같은 일자 | =EDATE(시작일,개월수) |
| 몇 개월 전·후의 월말 | =EOMONTH(시작일,개월수) |
| 완료된 연수·개월 수·일수 | =DATEDIF(시작일,종료일,"Y") |
| 토·일을 뺀 작업일 수 | =NETWORKDAYS(시작일,종료일,휴일범위) |
확인일 2026-11-06 · 근거: Microsoft 지원 DATE·DAYS·EDATE·EOMONTH·DATEDIF·NETWORKDAYS·WORKDAY.INTL 함수 설명 · 정정 요청
엑셀 날짜 계산 함수, 목적별로 하나씩 골라요
엑셀은 날짜를 화면에 보이는 글자가 아니라 일련 번호로 저장해요.
Windows용 엑셀은 1900-01-01을 1번으로 세고, 2008-01-01은 39448번입니다. 그래서 날짜끼리 빼거나 더할 수 있어요.
날짜는 달력에 번호표가 붙어 있는 줄이라고 생각하면 쉬워요. 1월 1일이 1번이면 1월 2일은 2번이고, 두 번호의 차이가 곧 며칠 사이인지가 됩니다.
날짜를 직접 만들 때는 =DATE(2026,3,2)처럼 연도, 월, 일 세 값을 넣어요.
연도는 두 자리로 써도 되지만 DATE(108,1,2)가 2008-01-02로 바뀌는 것처럼 뜻밖의 연도가 나올 수 있어서, 네 자리로 쓰는 게 안전해요. 연도가 0보다 작거나 10000 이상이면 #NUM! 오류가 납니다.
자주 쓰는 함수는 모두 엑셀 함수 모음에서 같이 볼 수 있고, 한 장으로 비교하고 싶다면 엑셀 함수 정리표가 편해요.
엑셀 날짜 일수 계산, DAYS는 종료일에서 시작일을 빼요
두 날짜 사이의 일수는 =DAYS(종료일,시작일)이에요.
종료일을 먼저, 시작일을 나중에 적는 순서가 헷갈리기 쉬워서 앞뒤를 바꾸면 결과가 마이너스로 나옵니다.
날짜가 숫자 날짜로 들어 있으면 종료일에서 시작일을 뺀 값과 같아요.
그래서 =B2-A2처럼 직접 빼도 되고, 읽기 쉽게 하려면 DAYS를 쓰면 됩니다. 셀끼리 빼는 방법은 엑셀 함수 빼기에서도 볼 수 있어요.
날짜가 글자(텍스트)로 들어 있어도 날짜로 읽을 수 있는 모양이면 DAYS가 알아서 날짜로 바꿔 계산해요.
다만 날짜로 읽을 수 없는 글자를 넣으면 #VALUE! 오류가 나고, 엑셀이 받을 수 있는 범위를 벗어난 숫자는 #NUM! 오류가 납니다.
예시 1 · 납품 일정을 확인하는 사무직 직원 (가정)시작일 2026-03-02, 종료일 2026-03-20이면 =DAYS("2026-03-20","2026-03-02")는 18이에요.
시작한 날까지 하루로 세고 싶다면 18에 1을 더해 19일로 봅니다.
오늘 기준으로 남은 일수가 궁금하면 종료일 자리에 목표 날짜를, 시작일 자리에 TODAY()를 넣으면 돼요.
날짜 자체를 계산기로 확인하고 싶을 때는 날짜 계산기가 빨라요.
엑셀 날짜 더하기, 몇 개월 뒤는 EDATE와 EOMONTH예요
몇 개월 뒤의 같은 날짜는 =EDATE(시작일,개월수)로 구해요.
앞으로 가는 달은 양수, 과거는 음수를 넣어요. 개월 수에 소수점이 있으면 소수점 아래는 무시됩니다.
=EDATE(A2,1)2011-02-15A2가 2011-01-15일 때, 한 달 뒤
=EDATE(A2,-1)2010-12-15한 달 전
=EDATE(A2,2)2011-03-15두 달 뒤
그 달의 마지막 날이 필요하면 =EOMONTH(시작일,개월수)를 써요.
EDATE는 같은 일자로 옮기고, EOMONTH는 옮긴 달의 말일로 가는 게 차이예요.
시작일은 셀의 날짜나 DATE 결과로 넣는 게 안전해요. 글자로 적은 날짜는 엑셀이 날짜로 읽지 못해서 #VALUE! 오류가 날 수 있습니다.
예시 2 · 결제일을 정하는 경리 담당자 (가정)거래일이 2026-01-15이면 =EOMONTH(A2,1)은 2026-02-28이에요.
2026년 2월은 28일까지라서 다음 달 말일 결제 조건이 2월 28일로 계산됩니다.
계산 결과가 일반 숫자로 보이면 날짜 서식을 입히면 돼요.
방법은 아래 오류 항목에서 설명해요. 요일까지 같이 보고 싶다면 엑셀 요일 함수를 붙여 쓰면 됩니다.
엑셀 날짜 차이 계산, 만 몇 년 몇 개월은 DATEDIF예요
완료된 연수와 개월 수는 =DATEDIF(시작일,종료일,단위)로 구해요.
단위가 "Y"면 꽉 채운 햇수, "M"이면 꽉 채운 개월 수, "D"면 일수가 나옵니다.
나이를 세는 것과 같아요. 생일이 지나야 한 살이 늘듯이, 꽉 채운 기간만 세는 함수라서 만 나이나 근속 연수에 잘 맞아요.
"YM"은 연도와 일을 무시하고 남은 개월 수만, "YD"는 연도를 무시하고 일수만 구해요.
"MD"는 음수나 0, 틀린 값이 나올 수 있으니 쓰지 않는 게 좋아요. 시작일이 종료일보다 늦으면 #NUM! 오류가 납니다.
예를 들어 2001-01-01부터 2003-01-01까지 "Y"는 2년이고, 2001-06-01부터 2002-08-15까지 "D"는 440일이에요.
예시 3 · 만 나이를 정리하는 인사 담당자 (가정)생년월일 1990-05-20, 기준일 2026-11-06이면 "Y"는 36, "YM"은 5예요.
만 36년 5개월로 읽으면 됩니다. 나이만 빠르게 보고 싶다면 만나이 계산기를 쓰세요.
엑셀 영업일 계산, NETWORKDAYS와 WORKDAY.INTL이에요
주말과 공휴일을 빼고 일한 날만 세려면 =NETWORKDAYS(시작일,종료일,휴일범위)를 써요.
토요일과 일요일은 자동으로 빠지고, 휴일범위에 적은 날짜도 함께 빠집니다. 휴일범위는 비워 둬도 돼요.
휴일 없이110일2012-10-01부터 2013-03-01까지
휴일 1일 제외109일같은 기간에서 휴일 1일을 뺀 값
휴일 3일 제외107일같은 기간에서 휴일 3일을 뺀 값
날짜를 거꾸로 구해야 할 때도 있어요. 영업일 기준으로 마감일을 정하려면 =WORKDAY.INTL(시작일,일수,주말코드,휴일범위)를 써요.
일수가 양수면 앞으로, 음수면 과거 날짜가 나오고 0이면 시작일 그대로입니다. 일수에 소수점이 있으면 정수로 잘려요.
주말코드가 1이거나 생략하면 토·일이 쉬는 날이고, 11이면 일요일만, 17이면 토요일만 쉬는 날이에요.
토요일만 쉬는 근무지라면 17을 넣으면 됩니다. 근무일수를 계산기로 바로 보려면 근무일수계산기와 휴일수당계산기를 이어서 써 보세요.
휴일 목록 만들기공휴일과 임시공휴일 날짜를 빈 열에 하나씩 적어 두어요.
함수 입력하기시작일과 종료일, 휴일 목록 범위를 NETWORKDAYS에 넣어요.
결과 확인하기일수는 숫자로 나오니 날짜 서식은 필요 없어요.
엑셀이 계산한 날짜는 일반적인 계산값이에요. 계약이나 법령, 민원 처리 기간에서 어느 날부터 세는지는 해당 계약서나 기관 안내에서 따로 확인해야 해요.
날짜 계산 결과가 숫자로 나오거나 오류가 날 때
EDATE나 EOMONTH 결과가 39448 같은 숫자로 보이면 함수가 틀린 게 아니에요.
이 함수들은 날짜 일련 번호를 돌려주기 때문에, 셀 서식을 날짜로 바꿔 줘야 날짜로 보입니다. 반대로 DAYS나 NETWORKDAYS 결과는 일수라서 숫자 서식이 맞아요.
셀 선택하기숫자로 보이는 결과 셀을 선택해요.
서식 열기Ctrl+1을 눌러 셀 서식 창을 열어요.
날짜 고르기표시 형식에서 날짜를 고르고 원하는 모양을 선택해요.
오류가 날 때는 먼저 입력한 날짜가 진짜 날짜인지 확인하세요.
#VALUE!는 날짜로 읽을 수 없는 글자를 넣었을 때, #NUM!은 범위 밖의 숫자를 넣었거나 DATEDIF 시작일이 종료일보다 늦을 때 주로 나와요. 조건에 따라 결과를 바꿔 보여 주고 싶다면 엑셀IF함수를 함께 쓰면 됩니다.
자주 묻는 질문
- 두 날짜 사이 일수는 DAYS와 종료일-시작일 중 무엇을 쓰나요?
- 숫자 날짜라면 결과가 같아요. 읽기 쉽게 만들고 싶으면 DAYS(종료일,시작일)을, 간단히 하고 싶으면 종료일-시작일을 쓰면 됩니다.
- 3개월 뒤 같은 날짜와 다음 달 말일은 어떻게 구하나요?
- 같은 일자는 EDATE(시작일,3), 말일은 EOMONTH(시작일,1)로 구해요. 결과가 숫자로 보이면 셀 서식을 날짜로 바꾸세요.
- 생년월일로 만 나이와 개월 수를 구할 수 있나요?
- DATEDIF(생년월일,기준일,"Y")는 만 나이, "YM"은 남은 개월 수예요. 시작일이 종료일보다 늦으면 오류가 납니다.
- 토요일과 일요일, 공휴일을 뺀 영업일은 어떻게 세나요?
- NETWORKDAYS(시작일,종료일,휴일범위)를 쓰면 토·일이 자동으로 빠지고 휴일범위의 날짜도 함께 빠져요.
- 토요일만 쉬는 근무지의 마감일은 어떻게 구하나요?
- WORKDAY.INTL의 주말코드에 17을 넣으면 토요일만 쉬는 날로 계산해요. 일요일만 쉬는 곳은 11을 넣습니다.
날짜 계산을 마쳤다면 이어서 확인해요
일수를 구했다면 다음은 근무일이나 연차, 요일 확인이에요.
필요한 계산을 바로 이어서 열어 보세요.