엑셀 날짜 함수 완벽 정리
TODAY · DATE · DATEDIF · EOMONTH · YEAR · MONTH · DAY

입사일로 근속기간 계산, 계약 만료일 자동 알림, 이번 달 마지막 날 구하기 등 날짜와 관련된 실무 작업은 생각보다 많습니다. 이 글에서는 엑셀 날짜 함수의 핵심인 TODAY, DATE, DATEDIF, EOMONTH와 보조 함수인 YEAR, MONTH, DAY를 실무 예제와 함께 정리합니다.

날짜 함수 한눈에 보기

함수역할예시 결과
TODAY()오늘 날짜 반환 (매일 자동 갱신)2026-05-01
NOW()현재 날짜+시간 반환2026-05-01 14:30
DATE(년,월,일)년·월·일로 날짜 생성=DATE(2026,5,1) → 2026-05-01
YEAR(날짜)날짜에서 연도 추출=YEAR(TODAY()) → 2026
MONTH(날짜)날짜에서 월 추출=MONTH(TODAY()) → 5
DAY(날짜)날짜에서 일 추출=DAY(TODAY()) → 1
DATEDIF(시작,종료,단위)두 날짜 사이 기간 계산=DATEDIF(A1,TODAY(),"Y") → 근속 연수
EOMONTH(날짜,월수)N개월 후 월말일 반환=EOMONTH(TODAY(),0) → 이번 달 마지막 날
EDATE(날짜,월수)N개월 후 같은 날짜 반환=EDATE(A1,3) → 3개월 후
WORKDAY(날짜,일수)N영업일 후 날짜 반환=WORKDAY(TODAY(),5) → 5영업일 후

STEP 1 — TODAY로 D-day 계산

1계약 만료까지 남은 일수
=A2-TODAY()

A2에 만료일이 있을 때 오늘 기준 남은 일수를 계산합니다. 결과 셀 형식이 날짜로 표시된다면 셀 서식을 "숫자"로 변경하세요.

TODAY()는 파일을 열 때마다 자동으로 오늘 날짜로 갱신됩니다. 날짜를 고정하고 싶다면 Ctrl+; 로 현재 날짜를 직접 입력하세요.

STEP 2 — DATEDIF로 근속기간 계산

DATEDIF는 두 날짜 사이의 기간을 연·월·일 단위로 계산하는 함수입니다. 수식 자동완성 목록에 나타나지 않지만 직접 입력하면 정상 작동합니다.

=DATEDIF(start_date, end_date, "unit")
단위의미
"Y"만 연수
"M"만 개월수
"D"총 일수
"YM"연수를 뺀 나머지 개월수
"MD"개월수를 뺀 나머지 일수
1입사일(A2)부터 오늘까지 근속기간 "X년 Y개월"
=DATEDIF(A2,TODAY(),"Y")&"년 "&DATEDIF(A2,TODAY(),"YM")&"개월"

A2가 2021-03-01이라면 → "5년 2개월"

DATEDIF는 start_date가 end_date보다 늦으면 오류가 발생합니다. 입사일이 미래로 잘못 입력된 경우 #NUM! 오류가 납니다.

STEP 3 — EOMONTH: 월말일 구하기

1이번 달 마지막 날
=EOMONTH(TODAY(), 0)

0은 현재 달, 1은 다음 달, -1은 지난 달 마지막 날을 반환합니다.

2이번 달 첫 날
=EOMONTH(TODAY(), -1)+1

지난 달 마지막 날 + 1 = 이번 달 첫 날

STEP 4 — DATE로 날짜 조립

1연·월·일이 각각 다른 셀에 있을 때 날짜 합치기
=DATE(A2, B2, C2)

A2=2026, B2=5, C2=1이면 2026-05-01로 합쳐집니다.

실무 활용 예시

자주 묻는 질문

날짜를 입력했는데 숫자로 표시됩니다.
엑셀은 날짜를 내부적으로 숫자(일련번호)로 저장합니다. 셀 서식이 "일반" 또는 "숫자"로 설정되어 있으면 숫자로 보입니다. 셀 선택 후 Ctrl+1 → 날짜 형식을 선택하세요.
DATEDIF가 함수 목록에 안 보입니다.
DATEDIF는 Lotus 1-2-3 호환 함수로, 자동완성 목록에 표시되지 않습니다. 하지만 셀에 직접 =DATEDIF(를 입력하면 정상 작동합니다. 숨겨진 함수이지만 현재까지도 지원됩니다.
날짜 계산 결과가 #VALUE! 오류가 납니다.
날짜처럼 보이는 셀이 실제로는 텍스트로 저장된 경우입니다. DATEVALUE 함수로 변환하거나, 데이터 탭 → 텍스트 나누기로 날짜 형식으로 변환하세요.