Ch.1 핵심 함수

DATE/TIME 함수 완전 정복

YEAR, MONTH, DAY, DATE, TODAY, NOW 함수를 정확히 사용할 수 있다DATEDIF 함수의 6가지 단위 코드(Y/M/D/YM/MD/YD)를 구분할 수 있다NETWORKDAYS, WORKDAY로 영업일을 계산할 수 있다

날짜 하나에 숨어 있는 정보가 이렇게 많다

직원 입사일에서 근속연수를 구하고, 프로젝트 마감일까지 남은 영업일을 계산하는 상황

DATEDIF는 함수 마법사에도 안 뜨는 숨겨진 함수인데 시험에 자주 출제된다?

DATE/TIME 함수는 실무와 시험 모두에서 빠지지 않는 필수 영역입니다


article

핵심 내용

엑셀에서 날짜는 내부적으로 숫자(일련번호)로 저장됩니다. 1900년 1월 1일 = 1, 2026년 4월 4일 = 46,114처럼 날짜마다 고유 번호가 있습니다.

=YEAR(날짜)    → 연도 추출 (예: 2026)
=MONTH(날짜)   → 월 추출   (예: 4)
=DAY(날짜)     → 일 추출   (예: 4)

=TODAY()       → 오늘 날짜 (매일 자동 변경)
=NOW()         → 현재 날짜+시간 (매번 자동 변경)

TODAY()와 NOW()의 차이: TODAY()는 날짜만, NOW()는 날짜+시간을 반환합니다. 둘 다 인수가 없고 괄호만 씁니다.

DATE 함수는 연, 월, 일을 조합하여 날짜를 생성합니다. EDATE와 EOMONTH는 기준 날짜에서 월 단위로 이동합니다.

=DATE(연, 월, 일)           → 날짜 생성
=DATE(2026, 4, 4)           → 2026-04-04

=EDATE(시작일, 개월수)       → N개월 후 날짜
=EDATE("2026-01-15", 3)     → 2026-04-15

=EOMONTH(시작일, 개월수)     → N개월 후 월말 날짜
=EOMONTH("2026-01-15", 0)   → 2026-01-31 (이번 달 말일)
=EOMONTH("2026-01-15", 2)   → 2026-03-31 (2개월 후 말일)

기출 포인트: EOMONTH(날짜, 0)은 이번 달 말일, EOMONTH(날짜, -1)은 지난 달 말일을 구합니다. 개월수에 음수도 가능!

DATEDIF는 두 날짜 사이의 기간을 구하는 함수입니다. 함수 마법사(fx)에 표시되지 않는 숨겨진 함수지만, 시험에는 자주 출제됩니다.

=DATEDIF(시작일, 끝일, 단위)

단위 코드 6가지:
  "Y"  → 만 년수
  "M"  → 만 개월수
  "D"  → 만 일수
  "YM" → 년을 제외한 나머지 개월수
  "MD" → 월을 제외한 나머지 일수
  "YD" → 년을 제외한 나머지 일수

함정 주의: DATEDIF의 인수 순서는 (시작일, 끝일) — 시작일이 끝일보다 크면 #NUM! 오류가 발생합니다. 반드시 시작일 < 끝일!

NETWORKDAYS는 영업일 수(주말 제외)를 구하고, WORKDAY는 시작일에서 N영업일 후 날짜를 구합니다. 둘 다 공휴일 목록을 선택 인수로 받습니다.

=NETWORKDAYS(시작일, 끝일, [공휴일])
  → 기간 내 영업일 수 (토·일 자동 제외)

=WORKDAY(시작일, 일수, [공휴일])
  → N영업일 후의 날짜

예시:
  =NETWORKDAYS("2026-04-01","2026-04-30")
  → 4월의 영업일 수: 22일

  =WORKDAY("2026-04-01", 10)
  → 10영업일 후: 2026-04-15 (토·일 건너뜀)

기출 포인트: NETWORKDAYS에 공휴일 인수를 빠뜨리면 토·일만 제외됩니다. 문제에서 공휴일 셀 범위가 주어지면 반드시 3번째 인수로 넣어야 합니다.

시간도 날짜와 마찬가지로 소수로 저장됩니다. 12:00(정오) = 0.5, 6:00(오전 6시) = 0.25처럼 하루를 1로 봅니다.

=HOUR(시간)     → 시 추출  (0~23)
=MINUTE(시간)   → 분 추출  (0~59)
=SECOND(시간)   → 초 추출  (0~59)
=TIME(시, 분, 초) → 시간 생성

── 텍스트 ↔ 날짜 변환 ──
=TEXT(날짜, 서식코드)     → 날짜를 문자열로
  TEXT(A1, "YYYY-MM-DD") → "2026-04-04"
  TEXT(A1, "M월 D일")    → "4월 4일"
  TEXT(A1, "DDD")        → "금" (요일 약어)

=DATEVALUE("2026-04-04") → 날짜 일련번호로 변환

TEXT 함수 주의: 결과는 문자열이므로 산술 연산이 불가합니다. 날짜로 다시 쓰려면 DATEVALUE로 변환해야 합니다.

DATEDIF("2020-03-01","2023-07-15","YM")의 결과는?

DATEDIF 함수는 함수 마법사(fx)에서 검색할 수 있다.

4월의 영업일 수를 구하는 수식: =_____("2026-04-01","2026-04-30")

EOMONTH("2026-02-15", 1)의 결과는?

TEXT(날짜, "YYYY-MM-DD")의 결과는 날짜 데이터이므로 산술 연산이 가능하다.

DATEDIF("2026-04-04","2023-07-15","D")의 결과는?

compare_arrows

비교 정리

항목단위의미결과시험 빈도
"Y"만 년수2★★★
"M"만 개월수32★★★
"D"만 일수994★★
"YM"년 제외 나머지 월8★★★
"MD"월 제외 나머지 일20★★★
"YD"년 제외 나머지 일264★★
check_circle

핵심 정리

  • 1YEAR/MONTH/DAY: 날짜에서 연·월·일 추출, TODAY()는 인수 없이 오늘 날짜
  • 2DATE(연,월,일): 날짜 생성, EDATE(N개월 후), EOMONTH(N개월 후 월말)
  • 3DATEDIF(시작,끝,단위): 숨겨진 함수! Y/M/D/YM/MD/YD 6가지 단위
  • 4NETWORKDAYS(영업일 수) vs WORKDAY(N영업일 후 날짜) — 공휴일 인수 빠뜨리지 말 것
  • 5TEXT(날짜,서식): 결과는 문자열! 산술 불가, DATEVALUE로 역변환

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작