직장인 실무/엑셀

엑셀 날짜 계산 방법 TODAY / DATEDIF / WORKDAY로 업무 일정 정리하기

은DD 2026. 8. 18. 14:39

회사에서 엑셀로 자료를 정리하다 보면 날짜를 직접 입력해야 하는 일이 생각보다 많습니다.

보고서 작성일을 표시하거나, 입사일부터 근속기간을 계산하거나, 발주 후 영업일 기준으로 납기일을 계산하는 경우처럼 날짜를 기준으로 계산해야 하는 업무가 자주 있습니다.

매번 날짜를 직접 입력하거나 달력을 확인해서 계산하기보다 엑셀의 날짜 함수를 이용하면 반복되는 작업을 줄일 수 있습니다.

저도 회사 자료를 정리하면서 날짜를 기준으로 계산해야 하는 경우가 있어서 TODAY, DATE, DATEDIF, WORKDAY, NETWORKDAYS 등을 상황에 따라 사용합니다.

이번 글에서는 날짜 관련 함수를 모두 나열하기보다 회사에서 자주 사용할 수 있는 상황을 기준으로 정리해보겠습니다.


1. TODAY·NOW 오늘 날짜와 현재 시각 표시하기

가장 기본적으로 사용할 수 있는 함수가 TODAY와 NOW입니다.

TODAY는 현재 날짜를 반환하고, NOW는 현재 날짜와 시간을 함께 반환합니다. 두 함수 모두 별도의 인수가 필요하지 않습니다.

오늘 날짜

=TODAY()
 

현재 날짜와 시간

=NOW()
 

예를 들어 보고서에 작성일을 자동으로 표시하려면 다음과 같이 사용할 수 있습니다.

 
="작성일: "&TEXT(TODAY(),"yyyy-mm-dd")
 

그러면 다음과 같은 형태로 표시됩니다.

작성일: 2026-09-28

날짜는 현재 날짜에 따라 자동으로 바뀌기 때문에 매일 사용하는 업무표나 관리표에 활용하기 편합니다.

주의할 점

TODAY()나 NOW()는 특정 날짜를 기록하는 용도와는 다릅니다.

예를 들어 9월 28일에 작성한 결재 문서에 TODAY()를 넣어두면 나중에 파일을 다시 열었을 때 현재 날짜로 바뀔 수 있습니다.

따라서 작성 당시 날짜를 기록으로 남겨야 하는 문서라면 날짜를 값으로 고정하는 것이 좋습니다.


2. DATE - 연, 월, 일을 하나의 날짜로 만들기

연도, 월, 일이 각각 다른 셀에 나누어져 있다면 DATE 함수를 이용해 하나의 날짜로 만들 수 있습니다.

=DATE(연도,월,일)
 

예를 들어 다음과 같이 데이터가 나누어져 있다고 가정해보겠습니다.

 

A열 B열 C열
2026 7 27

다음 수식을 사용하면

=DATE(A2,B2,C2)
 
=DATE(A2,B2,C2) 사용 예시

 

2026-07-27

이라는 하나의 날짜값을 만들 수 있습니다.

 

회사 자료에서는 이렇게 활용할 수 있습니다.

예를 들어 인사자료에

  • 입사연도
  • 입사월
  • 입사일

이 각각 다른 열로 관리되고 있다면 DATE로 하나의 입사일을 만들 수 있습니다.

이후 만들어진 날짜를 이용해 근속기간이나 월별 데이터를 계산할 수 있습니다.


3. YEAR, MONTH, DAY - 날짜에서 연, 월, 일만 가져오기

반대로 하나의 날짜에서 연도, 월, 일만 따로 가져와야 하는 경우도 있습니다.

연도

=YEAR(A2)
 

월

=MONTH(A2)
 

일

=DAY(A2)
 

예를 들어 A2에

2026-07-27

이 들어 있다면

=YEAR(A2)
 

→ 2026

=MONTH(A2)
 

→ 7

=DAY(A2)
 

→ 27

 

이렇게 각각 추출할 수 있습니다.

 


4. 월별 자료를 정리할 때 MONTH 활용하기

회사에서 매출이나 비용 자료를 월별로 정리할 때 날짜에서 월만 따로 추출해두면 편리합니다.

예를 들어 C열에 거래일자가 있다면:

 
=MONTH(C2)
 

를 사용해 월을 추출할 수 있습니다.


거래일 거래한 월
2026-01-15 1
2026-02-10 2
2026-02-25 2
2026-03-08 3

이렇게 월을 별도 열로 만들어두면 이후 SUMIFS나 피벗테이블을 이용해 월별 자료를 정리할 때 활용할 수 있습니다.

다만 여러 연도의 자료를 함께 관리한다면 월만 추출하면 2025년 1월과 2026년 1월이 모두 1로 표시되는 문제가 생길 수 있습니다.

이런 자료에서는 연도와 월을 함께 관리하는 것이 좋습니다.


5. DATEDIF|두 날짜 사이의 기간 계산하기

입사일과 현재 날짜처럼 두 날짜 사이의 기간을 계산할 때 DATEDIF를 사용할 수 있습니다.

=DATEDIF(시작일,종료일,"단위")
 

대표적인 단위는 다음과 같습니다.


단위 의미
"Y" 완전한 연수
"M" 완전한 개월 수
"D" 전체 일수
"YM" 연도를 제외한 개월 수
"YD" 연도를 제외한 일수

예를 들어 입사일이 B2에 있다면 현재 날짜 기준으로 근속연수를 계산할 수 있습니다.

=DATEDIF(B2,TODAY(),"Y")
 
=DATEDIF(B2,TODAY(),"Y") 사용 예시

 

몇 년 몇 개월 형태로 표시하고 싶다면

=DATEDIF(B2,TODAY(),"Y")&"년 "&DATEDIF(B2,TODAY(),"YM")&"개월"
 
=DATEDIF(B2,TODAY(),"Y")&"년 "&DATEDIF(B2,TODAY(),"YM")&"개월" 사용 예시

 

이런 방식은 인사자료에서 입사일을 기준으로 근속기간을 확인할 때 활용할 수 있습니다.

Microsoft에서도 DATEDIF를 두 날짜 사이의 일·월·연도 수를 계산하는 함수로 안내하고 있습니다. 다만 특정 상황에서 예상과 다른 결과가 나올 수 있다는 주의사항도 함께 안내하고 있으므로, 중요한 계산이라면 결과를 별도로 확인하는 것이 좋습니다.

DATEDIF 사용 시 주의

시작일이 종료일보다 늦으면 #NUM! 오류가 발생합니다.

=DATEDIF(B2,TODAY(),"Y")
 

B2의 날짜가 오늘보다 미래인지 먼저 확인해야 합니다.


6. 계약 만료일까지 남은 기간 계산하기

예를 들어 D2에 계약 종료일이 들어 있다고 해보겠습니다.

 

남은 일수를 단순하게 계산하려면

=D2-TODAY()
 

사용할 수 있습니다.

 

결과를 문장으로 표시하려면

=D2-TODAY()&"일 남음"
 

다만 계약 종료일이 이미 지난 경우에는 음수가 표시됩니다.

 

따라서 상태까지 함께 표시하려면

=IF(D2<TODAY(),"기간종료",D2-TODAY()&"일 남음")
 
=IF(D2<TODAY(),"기간종료",D2-TODAY()&"일 남음") 사용 예시

 

처럼 만들 수 있습니다.

 

이런 방식은 계약관리표나 프로젝트 일정표에서 활용하기 좋습니다.


7. WORKDAY|영업일 기준 날짜 계산하기

회사 업무에서는 단순히 며칠 뒤가 아니라 영업일 기준 며칠 뒤인지 계산해야 하는 경우가 있습니다.

이럴 때 WORKDAY를 사용할 수 있습니다.

 
=WORKDAY(시작일,영업일수,[공휴일])
 

예를 들어 발주일이 B2이고 5영업일 뒤의 납기일을 계산한다면

=WORKDAY(B2,5)
 

공휴일 목록이 별도로 있다면

=WORKDAY(B2,5,공휴일목록!A:A)
 

처럼 사용할 수 있습니다.

WORKDAY는 기본적으로 주말을 제외하고, 세 번째 인수로 휴일 목록을 지정하면 해당 날짜도 작업일에서 제외할 수 있습니다.

실무에서 활용할 수 있는 상황

  • 발주 후 납기일 계산
  • 업무 처리기한 계산
  • 서류 제출기한 계산
  • 프로젝트 작업 예정일 계산

8. NETWORKDAYS|두 날짜 사이의 영업일 수 계산하기

WORKDAY가 특정 날짜에서 며칠 뒤의 날짜를 구하는 함수라면,

NETWORKDAYS는 두 날짜 사이의 영업일이 며칠인지 계산하는 함수입니다.

 
=NETWORKDAYS(시작일,종료일,[공휴일])
 

예를 들어 프로젝트 시작일이 C2, 종료일이 D2라면

=NETWORKDAYS(C2,D2)
 

를 사용해 두 날짜 사이의 작업일 수를 계산할 수 있습니다.

공휴일 목록을 추가한다면

=NETWORKDAYS(C2,D2,공휴일목록!A:A)
 
=NETWORKDAYS(C2,D2,공휴일목록!A:A) 사용예시

 

=NETWORKDAYS(C2,D2,공휴일목록!A:A) 예시안에 공휴일 목록 자료

 

NETWORKDAYS는 시작일과 종료일 사이의 전체 작업일 수를 반환하며 주말과 지정한 공휴일을 제외합니다.


9. WORKDAY와 NETWORKDAYS는 이렇게 구분하면 쉽습니다

두 함수를 헷갈린다면 결과가 날짜인지 숫자인지 생각하면 쉽습니다.

WORKDAY

“며칠 뒤가 언제지?”

=WORKDAY(B2,5)
 

→ 날짜가 결과로 나옵니다.

NETWORKDAYS

“이 기간 동안 영업일이 며칠이지?”

 
=NETWORKDAYS(B2,C2)
 

→ 영업일 수가 결과로 나옵니다.

 

궁금한 것 함수
5영업일 뒤 날짜 WORKDAY
두 날짜 사이 영업일 수 NETWORKDAYS

10. 주말이 일반적인 토·일요일이 아닐 때

회사나 업무에 따라 주말을 다른 요일로 정해야 하는 경우에는 WORKDAY.INTL이나 NETWORKDAYS.INTL을 사용할 수 있습니다. 예를 들어 기본 WORKDAY는 일반적인 주말을 기준으로 계산하지만, WORKDAY.INTL은 주말 요일을 직접 지정할 수 있습니다. 

다만 일반적인 회사 업무에서는 WORKDAY와 NETWORKDAYS만으로 해결되는 경우가 많기 때문에 필요한 경우에만 INTL을 사용하는 것이 좋습니다.


11. 날짜 함수로 업무 자료를 정리할 때

날짜 함수는 각각 따로 외우기보다 어떤 계산을 해야 하는지 먼저 생각하면 선택하기 쉽습니다.

 

업무 상황 추천 함수
오늘 날짜 표시 TODAY
현재 날짜와 시간 표시 NOW
연·월·일을 날짜로 만들기 DATE
날짜에서 연도 추출 YEAR
날짜에서 월 추출 MONTH
날짜에서 일 추출 DAY
두 날짜 사이 기간 계산 DATEDIF
특정 영업일 뒤 날짜 계산 WORKDAY
기간 내 영업일 수 계산 NETWORKDAYS

12. 회사에서 자주 활용할 수 있는 날짜 계산 예시

이번 달 마지막 날

=EOMONTH(TODAY(),0)
 

EOMONTH는 지정한 달의 마지막 날짜를 구할 때 사용할 수 있습니다. 

이번 주 월요일

=TODAY()-WEEKDAY(TODAY(),2)+1
 

3개월 뒤 날짜

=EDATE(B2,3)
 

날짜 사이의 단순 일수 계산

=D2-C2
 

근속기간

=DATEDIF(B2,TODAY(),"Y")&"년 "&DATEDIF(B2,TODAY(),"YM")&"개월"
 

5영업일 뒤

=WORKDAY(B2,5,공휴일목록!A:A)
 

두 날짜 사이 영업일 수

=NETWORKDAYS(C2,D2,공휴일목록!A:A)
 

13. 날짜 함수 사용할 때 자주 하는 실수

① TODAY를 고정 날짜라고 생각하기

TODAY()는 현재 날짜를 가져오는 함수이므로 특정 시점의 날짜를 기록하는 용도로 사용하면 나중에 값이 달라질 수 있습니다.


② 날짜처럼 보이지만 실제로는 텍스트인 경우

엑셀에서 날짜처럼 보여도 실제 데이터가 텍스트로 저장되어 있으면 날짜 계산이 제대로 되지 않을 수 있습니다.

특히 다른 프로그램에서 내려받은 자료를 엑셀로 가져왔을 때 확인할 필요가 있습니다.

필요하다면 DATEVALUE 등을 이용해 날짜값으로 변환할 수 있습니다. Microsoft에서도 DATEVALUE는 텍스트 형태의 날짜를 Excel에서 계산할 수 있는 날짜 일련번호로 변환하는 함수로 안내합니다.


③ DATEDIF의 시작일과 종료일을 반대로 입력하기

 
=DATEDIF(시작일,종료일,"Y")
 

에서 시작일이 종료일보다 늦으면 #NUM! 오류가 발생합니다.


④ WORKDAY에서 회사 휴일을 빼먹기

 
=WORKDAY(B2,5)
 

라고 하면 기본적으로 주말은 제외하지만 회사에서 별도로 쉬는 공휴일까지 자동으로 알 수 있는 것은 아닙니다.

공휴일 목록을 별도로 만들어 관리한다면:

 
=WORKDAY(B2,5,공휴일!A:A)
 

처럼 지정해야 합니다.


14. 날짜 계산이 필요한 자료를 만들 때 제가 확인하는 순서

회사에서 날짜가 들어간 자료를 정리한다면 함수를 바로 입력하기보다 다음 순서로 확인하는 것이 편합니다.

① 원본 날짜 확인

날짜가 실제 날짜값으로 저장되어 있는지 확인합니다.

↓

② 무엇을 계산할지 결정

날짜 자체가 필요한지 / 기간이 필요한지 / 영업일이 필요한지 구분합니다.

↓

③ 함수 선택

  • 오늘 날짜 → TODAY
  • 날짜 만들기 → DATE
  • 기간 → DATEDIF
  • 영업일 뒤 날짜 → WORKDAY
  • 기간 내 영업일 → NETWORKDAYS

↓

④ 공휴일 확인

영업일 계산이라면 회사 휴일 목록이 필요한지 확인합니다.

↓

⑤ 결과 검산

특히 급여, 계약, 납기처럼 날짜가 중요한 자료는 계산 결과를 한 번 더 확인합니다.


 

엑셀에서 날짜를 계산할 때는 함수 이름을 전부 외우기보다 어떤 결과가 필요한지 먼저 생각하면 함수 선택이 쉬워집니다.

오늘 날짜가 필요하면 TODAY,

연·월·일을 하나의 날짜로 만들려면 DATE,

두 날짜 사이의 기간을 계산하려면 DATEDIF,

특정 영업일 뒤의 날짜가 필요하면 WORKDAY,

두 날짜 사이의 영업일 수가 필요하면 NETWORKDAYS를 사용할 수 있습니다.

특히 회사에서 사용하는 날짜 자료는 날짜가 실제 날짜값으로 저장되어 있는지, 공휴일을 제대로 반영했는지, TODAY처럼 시간이 지나면서 값이 변하는 함수를 사용했는지를 마지막에 확인하는 것이 중요합니다.

날짜 함수를 적절하게 활용하면 매번 달력을 찾아보거나 날짜를 직접 계산하는 반복 작업을 줄일 수 있습니다.

 

반응형