엑셀 날짜 계산 — 두 날짜 사이 일수·개월·연수 구하는 법(DATEDIF)
=B2-A2처럼 빼면 됩니다. 연·개월 단위로 세려면 =DATEDIF(A2,B2,"Y"), 주말을 빼고 세려면 =NETWORKDAYS(A2,B2)를 씁니다. 아래 계산기에 두 날짜를 넣으면 결과를 바로 볼 수 있습니다.아래 예시는 모두 A2 셀에 시작일 2024-03-15, B2 셀에 종료일 2026-09-30을 넣었다고 가정합니다.
단순 빼기로 일수 구하기
엑셀은 날짜를 숫자로 저장하기 때문에, 종료일에서 시작일을 빼면 그 사이의 일수가 나옵니다. 함수가 필요 없는 가장 쉬운 방법입니다.
| 구하려는 값 | 수식 | 결과 |
|---|---|---|
| 일수 | =B2-A2 | 929 |
| 몇 주(나머지 버림) | =INT((B2-A2)/7) | 132 |
| 주로 나누고 남는 일수 | =MOD(B2-A2,7) | 5 |
결과가 1902-07-17처럼 날짜 모양으로 나오면(엑셀의 기본인 1900 날짜 시스템에서 숫자 929를 날짜로 보여 준 것입니다) 수식이 아니라 셀 서식 문제입니다. 결과 셀의 서식을 「일반」이나 「숫자」로 바꾸면 됩니다.
DATEDIF로 연·개월 구하기
DATEDIF는 두 날짜 사이의 기간을 연, 개월, 일 단위로 나눠 셀 수 있는 함수입니다. 형식은 =DATEDIF(시작일, 종료일, "단위")입니다. 마이크로소프트 문서에는 이전 통합 문서를 지원하기 위해 제공되는 함수라고 적혀 있습니다.
| 단위 | 뜻 | 수식 | 결과 |
|---|---|---|---|
"Y" | 꽉 찬 연수 | =DATEDIF(A2,B2,"Y") | 2 |
"M" | 꽉 찬 개월 수 | =DATEDIF(A2,B2,"M") | 30 |
"D" | 일수 | =DATEDIF(A2,B2,"D") | 929 |
"YM" | 연수를 뺀 나머지 개월 | =DATEDIF(A2,B2,"YM") | 6 |
"YD" | 연수를 뺀 나머지 일수 | =DATEDIF(A2,B2,"YD") | 199 |
"MD" | 개월을 뺀 나머지 일수 | =DATEDIF(A2,B2,"MD") | 15 |
"2년 6개월"처럼 글자로 만들려면 두 결과를 이어 붙입니다.
=DATEDIF(A2,B2,"Y")&"년 "&DATEDIF(A2,B2,"YM")&"개월"
결과는 2년 6개월입니다.
"MD" 인수가 음수나 0, 부정확한 결과를 낼 수 있어 사용하지 않기를 권합니다. 위 표의 15는 종료일의 일(30)이 시작일의 일(15)보다 커서 문제가 생기지 않는 경우일 뿐입니다. 남는 일수가 필요하면 "D"로 전체 일수를 구한 뒤 계산하는 편이 안전합니다.날짜 계산기
🧮 두 날짜 사이 계산기
계산기의 개월 수는 엑셀 DATEDIF의 "M"과 같은 규칙입니다. 종료일의 일이 시작일의 일보다 작으면 한 달을 덜 세므로 1월 31일에서 2월 28일까지는 0개월입니다. 다른 프로그램이나 코드 라이브러리는 「한 달」을 다르게 정의하는 경우가 있으니 결과를 옮겨 쓸 때 주의하세요.
주말을 뺀 평일 수 세기
근무일이나 영업일을 셀 때는 NETWORKDAYS를 씁니다. 시작일과 종료일을 모두 포함해서 세고, 토요일과 일요일은 뺍니다.
| 수식 | 결과 | 설명 |
|---|---|---|
=NETWORKDAYS(DATE(2026,9,1),DATE(2026,9,30)) | 22 | 2026년 9월의 평일 수(공휴일 미반영) |
=NETWORKDAYS(A2,B2,E2:E4) | — | E2:E4에 적어 둔 공휴일까지 뺌 |
공휴일은 함수가 알아서 알지 못합니다. 빼고 싶은 날짜를 셀에 적어 두고 세 번째 인수로 범위를 넣어야 합니다.
오늘 날짜 기준으로 계산하기
TODAY()는 오늘 날짜를 돌려주는 함수입니다. 근속 연수나 나이처럼 지금까지 지난 기간을 셀 때 종료일 자리에 넣습니다. 예를 들어 입사일이 A2 셀에 있다면 다음과 같이 씁니다.
=DATEDIF(A2,TODAY(),"Y")&"년 "&DATEDIF(A2,TODAY(),"YM")&"개월"
입사일이 2021-04-05이면 2026-09-30 시점의 결과는 5년 5개월입니다. TODAY()는 통합 문서가 다시 계산될 때(파일을 다시 열 때 포함) 오늘 날짜로 바뀌므로, 특정 날짜 기준의 값을 남겨야 한다면 날짜를 직접 입력하세요.
자주 나는 오류와 해결
| 증상 | 원인 | 해결 |
|---|---|---|
#NUM! | 시작일이 종료일보다 늦음 | 두 셀의 순서를 바꿉니다. |
#VALUE! | 엑셀이 날짜로 인식하지 못하는 글자가 들어감(셀이 텍스트 서식이거나 앞에 작은따옴표를 붙여 입력한 경우 등) | 셀 서식을 날짜로 바꿔 다시 입력하거나 DATE(연,월,일)을 씁니다. |
| 결과가 날짜 모양 | 결과 셀이 날짜 서식 | 셀 서식을 「일반」으로 바꿉니다. |
| 개월 수가 하나 모자람 | "M"은 꽉 찬 달만 셈 | 종료일의 일이 시작일의 일보다 작으면 한 달이 덜 셉니다(1월 31일 → 2월 28일은 0개월). 정상 동작입니다. |