-
[Excel] 엑셀 날짜 시간 함수 완전 정복엑셀 2026. 6. 10. 16:10반응형
TODAY · DATEDIF · WORKDAY · NETWORKDAYS · EOMONTH — 날짜·시간 함수 완전 정복

📋 목차
1. 엑셀에서 날짜의 정체 — 날짜는 숫자다
2. 오늘·지금 — TODAY · NOW
3. 날짜 분해 — YEAR · MONTH · DAY · WEEKDAY
4. 날짜 만들기 — DATE · DATEVALUE
5. 날짜 차이 계산 — DATEDIF · DAYS
6. 영업일 계산 — NETWORKDAYS · WORKDAY
7. 월 마지막 날 · 분기 — EOMONTH · 응용
8. 시간 함수 — HOUR · MINUTE · SECOND · TIME
9. 실전 패턴 — D-Day · 만 나이 · 근속연수엑셀에서 날짜는 단순한 텍스트가 아니다. 내부적으로 '1900년 1월 1일 = 1'부터 시작하는 일련번호(시리얼 번호)로 저장된다. 이걸 이해하면 날짜 함수가 훨씬 쉬워진다.
예: 2025년 5월 1일 = 45,778. 그래서 두 날짜를 빼면 일수 차이가 바로 나온다.1 엑셀에서 날짜의 정체 — 날짜는 숫자다 엑셀 날짜는 내부적으로 정수로 저장된다. 1900-01-01 = 1, 1900-01-02 = 2, ... 2025-05-01 = 45778. 그래서 날짜끼리 빼면 일수 차이가 바로 나온다.
=B1-A1 → 두 날짜의 차이 (일수)
예: 2025-05-15 - 2025-05-01 = 14 (14일 차이)
날짜처럼 보이는데 실제로 숫자인지 확인:
Ctrl+1 → 표시 형식 → 일반 → 숫자가 보이면 날짜 형식▸ 날짜 입력 시 주의사항
입력 인식 결과 주의 2025-05-01 날짜 (권장) 하이픈(-)으로 입력 2025/05/01 날짜 슬래시(/)도 가능 20250501 숫자 (날짜 아님) DATE 함수로 변환 필요 '2025-05-01 텍스트 (날짜 아님) 앞에 ' 붙이면 텍스트 💡 날짜가 숫자로 보일 때
셀에 날짜를 입력했는데 45778 같은 숫자가 보인다면 셀 서식이 날짜로 설정되지 않은 것이다. Ctrl+1 → 날짜 형식 선택하면 된다.2 오늘·지금 — TODAY · NOW 함수 반환값 예시 =TODAY() 오늘 날짜 (날짜만) 2025-05-15 =NOW() 지금 날짜+시간 2025-05-15 14:30 TODAY()와 NOW()는 인수가 없다. 파일을 열거나 셀을 수정할 때마다 자동으로 현재 날짜·시간으로 업데이트된다.
D-Day 계산: =A1-TODAY() → 남은 일수 (음수면 지남)
오늘 기준 나이: =YEAR(TODAY())-YEAR(A1) → 단순 나이
오늘 요일: =TEXT(TODAY(),"AAAA") → 목요일💡 고정 날짜 입력
TODAY()는 매일 바뀐다. 오늘 날짜를 고정값으로 입력하려면 Ctrl+; (날짜 고정), Ctrl+Shift+; (시간 고정)를 쓴다.3 날짜 분해 — YEAR · MONTH · DAY · WEEKDAY 날짜에서 연도·월·일·요일을 각각 추출하는 함수들이다.
=YEAR(A1) → 2025 (연도)
=MONTH(A1) → 5 (월)
=DAY(A1) → 15 (일)
=WEEKDAY(A1) → 5 (목요일, 기본: 일=1)
=WEEKDAY(A1,2) → 4 (목요일, 월=1 방식)
요일 텍스트로:
=TEXT(A1,"AAAA") → 목요일
=TEXT(A1,"AAA") → 목WEEKDAY 두 번째 인수 의미 월요일=? 1 (기본) 일=1, 월=2, ..., 토=7 2 2 월=1, 화=2, ..., 일=7 1 3 월=0, 화=1, ..., 일=6 0 
4 날짜 만들기 — DATE · DATEVALUE ▸ DATE — 연·월·일로 날짜 조합
=DATE(연도, 월, 일)
=DATE(2025, 5, 1) → 2025-05-01
=DATE(YEAR(A1), MONTH(A1)+1, 1) → 다음달 1일
=DATE(2025, 13, 1) → 2026-01-01 (월 초과 시 자동 처리)▸ DATEVALUE — 텍스트를 날짜로
=DATEVALUE("2025-05-01") → 45778 (날짜 시리얼)
=DATEVALUE(A1) → 텍스트 날짜를 실제 날짜로 변환
주로 외부 시스템 데이터(텍스트 형태 날짜)를 실제 날짜로 바꿀 때 사용▸ 숫자 날짜(20250501) → 날짜 변환
=DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2))
→ 20250501 → 2025-05-01 (텍스트 함수와 조합)5 날짜 차이 계산 — DATEDIF · DAYS 두 날짜 사이의 차이를 연·월·일 단위로 계산한다. DATEDIF는 공식 함수 목록에 없지만 실제로 작동하는 숨겨진 함수다.
▸ DATEDIF — 날짜 차이 (연·월·일)
=DATEDIF(시작일, 종료일, 단위)
단위 종류:
"Y" → 완전한 연수
"M" → 완전한 월수
"D" → 일수
"YM" → 연도를 무시한 월수 (만 몇 개월)
"MD" → 연·월을 무시한 일수
"YD" → 연도를 무시한 일수
예: 만 나이
=DATEDIF(생년월일, TODAY(), "Y") → 만 나이(세)
예: 근속연수 상세
=DATEDIF(입사일, TODAY(), "Y")&"년 "&DATEDIF(입사일, TODAY(), "YM")&"개월"▸ DAYS — 단순 일수 차이
=DAYS(종료일, 시작일) → 일수 차이 (음수 가능)
=B1-A1 → 동일한 결과 (더 간단)💡 DATEDIF 주의사항
DATEDIF는 함수 자동완성 목록에 나오지 않는다. 직접 입력해야 한다. 또한 시작일이 종료일보다 크면 오류가 발생하므로 MIN/MAX로 순서를 보장하거나 IF로 체크하자.6 영업일 계산 — NETWORKDAYS · WORKDAY 토요일·일요일(및 공휴일)을 제외하고 실제 영업일 기준으로 계산하는 함수다. 납기·마감일 계산에 필수다.
▸ NETWORKDAYS — 영업일 수 계산
=NETWORKDAYS(시작일, 종료일, [공휴일범위])
=NETWORKDAYS(A1, B1) → 주말 제외 일수
=NETWORKDAYS(A1, B1, E1:E10) → 공휴일도 제외
예: 프로젝트 기간 영업일
=NETWORKDAYS("2025-05-01", "2025-05-31") → 22일▸ WORKDAY — N 영업일 후 날짜
=WORKDAY(시작일, 영업일수, [공휴일범위])
=WORKDAY(TODAY(), 10) → 오늘부터 10 영업일 후
=WORKDAY(A1, -5) → 5 영업일 전
=WORKDAY(A1, 30, 공휴일범위) → 공휴일 포함 30 영업일 후함수 용도 결과 형태 NETWORKDAYS 두 날짜 사이 영업일 수 숫자 (일수) NETWORKDAYS.INTL 주말 기준 커스텀 (주4일제 등) 숫자 (일수) WORKDAY N 영업일 후/전 날짜 날짜 WORKDAY.INTL 주말 기준 커스텀 날짜 💡 공휴일 처리
한국 공휴일 목록을 별도 시트에 정리해두고 NETWORKDAYS의 세 번째 인수로 참조하면 공휴일까지 자동으로 제외된다.7 월 마지막 날 — EOMONTH · 응용 =EOMONTH(시작일, 월수)
=EOMONTH(TODAY(), 0) → 이번달 마지막 날
=EOMONTH(TODAY(), 1) → 다음달 마지막 날
=EOMONTH(TODAY(), -1) → 전달 마지막 날
이번달 일수:
=DAY(EOMONTH(TODAY(), 0)) → 31, 30, 28, 29 중 하나
다음달 1일:
=EOMONTH(TODAY(), 0)+1▸ 분기 계산
현재 분기: =ROUNDUP(MONTH(TODAY())/3, 0)
분기 시작일: =DATE(YEAR(A1), (ROUNDUP(MONTH(A1)/3,0)-1)*3+1, 1)
분기 종료일: =EOMONTH(DATE(YEAR(A1), ROUNDUP(MONTH(A1)/3,0)*3, 1), 0)8 시간 함수 — HOUR · MINUTE · SECOND · TIME 날짜와 마찬가지로 시간도 내부적으로 소수점 숫자로 저장된다. 1일 = 1, 12시간 = 0.5, 1시간 = 1/24.
=HOUR(A1) → 시 (0~23)
=MINUTE(A1) → 분 (0~59)
=SECOND(A1) → 초 (0~59)
=TIME(시, 분, 초) → 시간 값 생성
=TIME(9, 30, 0) → 09:30:00
시간 차이 (시간 단위):
=(종료시간-시작시간)*24 → 소수점 시간
예: 17:00 - 9:00 = 0.333... → ×24 = 8시간
시간 차이 (분 단위):
=(종료시간-시작시간)*24*60💡 시간 계산 결과가 이상하다면
시간 계산 결과 셀 서식이 [hh]:mm으로 설정되어 있는지 확인하자. 24시간 초과 시간을 표시하려면 [hh]:mm 형식이 필요하다. 일반 hh:mm은 24시간을 넘으면 0으로 초기화된다.9 실전 패턴 — D-Day · 만 나이 · 근속연수 목적 수식 예시 결과 D-Day (남은 일) =A1-TODAY() -15 (15일 지남) / 30 (30일 남음) D-Day 표시 =IF(A1>TODAY(),"D-"&(A1-TODAY()),"D+"&(TODAY()-A1)) D-30 또는 D+15 만 나이 =DATEDIF(생년월일,TODAY(),"Y") 32 만 나이 상세 =DATEDIF(A1,TODAY(),"Y")&"세 "&DATEDIF(A1,TODAY(),"YM")&"개월" 32세 3개월 근속연수 =DATEDIF(입사일,TODAY(),"Y")&"년 "&DATEDIF(입사일,TODAY(),"YM")&"개월" 3년 7개월 이번달 근무일 =NETWORKDAYS(DATE(YEAR(TODAY()),MONTH(TODAY()),1),EOMONTH(TODAY(),0)) 22 납기 영업일 =WORKDAY(TODAY(),30) 30 영업일 후 날짜 분기 =ROUNDUP(MONTH(TODAY())/3,0)&"분기" 2분기 요일 텍스트 =TEXT(TODAY(),"AAAA") 목요일 날짜 함수는 조합이 강력하다. DATEDIF+TODAY로 만 나이를, NETWORKDAYS+EOMONTH로 이번달 근무일을, WORKDAY+TODAY로 마감일을 자동으로 계산할 수 있다.
반응형'엑셀' 카테고리의 다른 글
[Excel] 엑셀 SUMPRODUCT · OFFSET · INDIRECT 심화 완전 정복 (0) 2026.06.11 [Excel] 엑셀 INDEX · MATCH · XLOOKUP 함수 심화 완전 정복 (0) 2026.06.10 [Excel] 엑셀 텍스트 함수 실전 활용 완전 정복 (0) 2026.06.09 [Excel] 엑셀 VBA 매크로 심화 실무용 완전 정복 (0) 2026.06.09 [Excel] 엑셀 직장인이 실제로 가장 많이 묻는 엑셀 문제 완전 정복 (0) 2026.06.08