본문 바로가기
오늘하루생활

날짜·시간 실무: TODAY, EDATE, NETWORKDAYS로 일정·마감 계산 끝내기

by samipea 2025. 12. 21.

엑셀·구글시트에서 가장 자주 틀어지는 구간이 바로 날짜/시간입니다. “왜 날짜 정렬이 이상하지?”, “마감일까지 며칠 남았지?”, “영업일 기준으로는 몇 일이지?” 같은 질문은 거의 모든 팀에서 반복됩니다. 이번 글에서는 실무에서 특히 활용도가 높은 TODAY, EDATE, NETWORKDAYS를 중심으로, 월말/월초 계산에 자주 쓰는 EOMONTH까지 함께 정리합니다. 글을 끝까지 읽으면 ‘날짜 계산’이 감이 아니라 규칙이 됩니다.

참고: 엑셀/구글시트 함수 이름은 대부분 동일하지만, 지역 설정에 따라 날짜 표시 형식은 달라질 수 있습니다.

1. 먼저 이해해야 할 핵심: 날짜는 “숫자”다

엑셀과 구글시트에서 날짜는 문자처럼 보이지만 실제로는 일련번호(숫자)로 저장됩니다. 그래서 날짜는 더하기/빼기가 가능하고, 정렬·필터·집계가 가능합니다. 반대로 날짜가 텍스트(문자)로 들어오면 계산이 깨집니다.

  • 정상 날짜: 더하기/빼기 가능, 오른쪽 정렬되는 경우가 많음
  • 텍스트 날짜: 계산 불가 또는 오류, 왼쪽 정렬되는 경우가 많음

만약 날짜가 텍스트로 의심되면, 셀 서식을 “날짜”로 바꾸거나(표시만 바뀌는 경우도 있음), 데이터 원본을 정리(다음 글들에서 다룰 텍스트 정리/변환)하는 것이 필요합니다.

2. TODAY: “오늘 날짜”를 자동으로 넣는 가장 기본

TODAY()는 오늘 날짜를 자동으로 반환합니다. 출근/마감/진행률 같은 시트에서 “오늘 기준” 계산의 시작점이 됩니다.

2-1) 기본 사용

  • 오늘 날짜: =TODAY()

2-2) 마감까지 남은 일수 계산(캘린더 일수)

예: 마감일이 B2에 있을 때

  • 남은 일수: =B2 - TODAY()

결과가 음수면 “이미 마감이 지남”을 의미합니다. 보고서에서 보기 좋게 하려면 조건부 서식을 함께 쓰는 것을 추천합니다.

2-3) D-day 형태로 표시(간단 템플릿)

예: C2에 남은 일수가 계산되어 있을 때

  • =IF(C2>=0,"D-"&C2,"D+"&ABS(C2))

3. EDATE: “n개월 뒤/전” 날짜 계산(월 단위 일정의 핵심)

실무 일정은 “30일 뒤”보다 “한 달 뒤”가 더 많이 쓰입니다. 예: 계약 갱신 3개월 후, 정기 점검 6개월 후, 수습 종료 3개월 후 등. 이때 가장 깔끔한 함수가 EDATE입니다.

3-1) 기본 사용

  • 기준일 A2에서 1개월 뒤: =EDATE(A2,1)
  • 기준일 A2에서 3개월 전: =EDATE(A2,-3)

3-2) “매달 같은 날” 일정 자동화 예시

예를 들어 매달 15일이 결산 마감일이라면, 기준월만 바꾸면 다음 달 15일을 자동으로 만들 수 있습니다.

  • 기준일이 2025-12-15(A2)일 때 다음 달 마감: =EDATE(A2,1)

3-3) 월 단위 일정에서 흔한 실수

  • “30일 더하기”로 한 달을 계산하면 월 길이(28~31일)에 따라 오차가 생김
  • 월 단위 일정은 EDATE로 처리하는 것이 안전

4. EOMONTH: 월말 기준 날짜가 필요할 때(보고서/정산 필수)

월말 마감, 월별 보고서, 정산 기준을 잡을 때는 월말 날짜가 필요합니다. 이때 쓰는 대표 함수가 EOMONTH입니다.

4-1) 기본 사용

  • 기준일 A2의 ‘이번 달’ 월말: =EOMONTH(A2,0)
  • 기준일 A2의 ‘다음 달’ 월말: =EOMONTH(A2,1)
  • 기준일 A2의 ‘전 달’ 월말: =EOMONTH(A2,-1)

4-2) 월초(1일) 구하기

월초는 “전 달 월말 + 1일”로 만들면 간단합니다.

  • 기준일 A2의 이번 달 1일: =EOMONTH(A2,-1)+1

월별 집계(피벗, SUMIFS)를 만들 때, 월초/월말 기준 날짜를 자동으로 만들 수 있으면 보고서 자동화가 빨라집니다.

5. NETWORKDAYS: “영업일 기준” 날짜 계산(마감 관리의 핵심)

실무 마감은 보통 “영업일 기준 n일”로 움직입니다. 주말을 빼고 계산해야 하고, 회사 휴무일(공휴일/대체휴무 등)도 제외해야 정확합니다. 이때 사용하는 함수가 NETWORKDAYS입니다.

5-1) 기본 사용(주말 제외)

예: 시작일 A2, 종료일 B2

  • 영업일 수 계산: =NETWORKDAYS(A2,B2)

5-2) 공휴일/휴무일 목록까지 제외하기(실무 추천)

시트 한 곳(예: H2:H50)에 휴무일 목록을 날짜로 정리해 두면, 영업일 계산이 훨씬 정확해집니다.

  • 휴무일 반영: =NETWORKDAYS(A2,B2,$H$2:$H$50)

포인트는 휴무일 목록도 반드시 “날짜 형식”이어야 한다는 점입니다.

5-3) 마감까지 남은 영업일 계산

예: 오늘부터 마감일(B2)까지 영업일이 몇 일 남았는지

  • =NETWORKDAYS(TODAY(),B2,$H$2:$H$50)-1

마지막에 -1을 하는 이유는 “오늘을 포함할지 여부” 때문입니다. 조직마다 기준이 달라서, 포함/제외 규칙을 먼저 정해두면 혼란이 줄어듭니다.

5-4) (확장) 특정 평일 패턴이 다르면?

부서/현장에 따라 주말 정의가 다를 수 있습니다(예: 일요일만 휴무). 이런 경우엔 NETWORKDAYS.INTL을 고려할 수 있습니다. 다만 팀에서 주말 패턴이 고정되어 있고 공휴일 목록을 관리할 수 있다면, 기본 NETWORKDAYS만으로도 충분한 경우가 많습니다.

6. 실무 템플릿: “마감 관리 표”에 바로 쓰는 공식

아래처럼 구성하면 간단한 마감 관리 표를 만들 수 있습니다. (예: A열=업무명, B열=시작일, C열=마감일)

  • 캘린더 기준 남은 일수 (D2): =C2 - TODAY()
  • 영업일 기준 남은 일수 (E2): =NETWORKDAYS(TODAY(),C2,$H$2:$H$50)-1
  • 상태 자동 표시 (F2): =IF(E2<0,"지연",IF(E2=0,"당일 마감",IF(E2<=3,"임박","정상")))

여기에 조건부 서식을 붙이면, 임박/지연이 자동으로 눈에 띄게 표시됩니다.

7. 날짜 계산이 자주 틀리는 이유 5가지(체크리스트)

  • 날짜가 “텍스트”로 들어왔다(복사/붙여넣기, 시스템 export 문제)
  • 표시 형식만 날짜고 실제 값이 문자열이다
  • 월 단위를 30일로 계산했다(EDATE를 써야 함)
  • 주말/공휴일을 빼지 않았다(NETWORKDAYS 필요)
  • 오늘 포함/제외 규칙이 팀마다 달라 기준이 흔들린다

마무리

날짜는 “감으로 계산”하면 반드시 틀립니다. 오늘부터는 기준을 함수로 고정하세요. TODAY로 오늘을 찍고, 월 단위는 EDATE, 월말 기준은 EOMONTH, 영업일 기준은 NETWORKDAYS. 이 네 가지가 잡히면, 일정/마감/정산 자동화는 훨씬 쉬워집니다.