엑셀지식
2026년 5월 1일
작성자: JH (중견기업 인사팀 출신)
엑셀 날짜 함수 완벽 정리
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로 합쳐집니다.
실무 활용 예시
- 연차 발생일 계산 — 입사일 + 1년:
=EDATE(A2, 12)
- 수습기간 만료일 — 입사일로부터 3개월 후:
=EDATE(A2, 3)-1
- 급여 지급일 (매월 25일) —
=DATE(YEAR(TODAY()), MONTH(TODAY()), 25)
- 만료 30일 전 강조 — 조건부 서식 수식:
=$C2-TODAY()<=30
자주 묻는 질문
날짜를 입력했는데 숫자로 표시됩니다.
엑셀은 날짜를 내부적으로 숫자(일련번호)로 저장합니다. 셀 서식이 "일반" 또는 "숫자"로 설정되어 있으면 숫자로 보입니다. 셀 선택 후 Ctrl+1 → 날짜 형식을 선택하세요.
DATEDIF가 함수 목록에 안 보입니다.
DATEDIF는 Lotus 1-2-3 호환 함수로, 자동완성 목록에 표시되지 않습니다. 하지만 셀에 직접 =DATEDIF(를 입력하면 정상 작동합니다. 숨겨진 함수이지만 현재까지도 지원됩니다.
날짜 계산 결과가 #VALUE! 오류가 납니다.
날짜처럼 보이는 셀이 실제로는 텍스트로 저장된 경우입니다. DATEVALUE 함수로 변환하거나, 데이터 탭 → 텍스트 나누기로 날짜 형식으로 변환하세요.