본문 바로가기
카테고리 없음

엑셀 날짜 계산 방법 날짜 차이, 근무일 수, 자동 업데이트까지

by ggurang-1 2025. 4. 26.
반응형

엑셀은 단순한 숫자 계산을 넘어 복잡한 날짜 관리까지 가능한 강력한 도구입니다. 특히 프로젝트 관리, 인사(HR), 재무 등 다양한 업무에서 날짜 계산은 필수적이죠. 예를 들어, 프로젝트 마감일까지 남은 근무일을 계산하거나, 직원들의 근속 연수를 정확히 파악하고, 계약 만료일을 자동으로 관리하는 등 엑셀 날짜 함수를 활용하면 업무 효율성을 극대화하고 오류를 줄일 수 있습니다.

 

단순히 두 날짜 사이의 일수를 세는 것부터 특정 조건(주말, 공휴일 제외)을 반영한 근무일 계산, 그리고 항상 최신 날짜를 유지하는 자동 업데이트 기능까지, 엑셀의 다양한 날짜 계산 방법을 마스터하면 데이터 관리가 훨씬 수월해집니다. 이 글에서는 엑셀 날짜 계산의 핵심 기능들을 실제 예시와 함께 상세히 설명하여 여러분이 실무에서 바로 적용할 수 있도록 돕겠습니다.

엑셀 날짜 계산 방법
엑셀 날짜 계산 방법

 

핵심 기능 요약

기능 주요 함수 주요 용도 특징
날짜 차이 계산 (년/월/일) DATEDIF 근속 연수, 만 나이, 프로젝트 기간 등 계산 다양한 단위(Y, M, D, YM, MD, YD)로 계산 가능 (숨겨진 함수)
날짜 차이 계산 (일수) 단순 뺄셈 (-) 두 날짜 사이의 총 일수 계산 가장 간단하고 직관적인 방법
근무일 수 계산 (토/일 제외) NETWORKDAYS 주말(토,일) 및 지정 공휴일 제외한 실제 근무일 계산 표준 근무 주간(월~금) 기준
근무일 수 계산 (맞춤 설정) NETWORKDAYS.INTL 주말 요일 및 공휴일 직접 지정하여 근무일 계산 유연한 근무 형태(교대근무 등)에 적합
오늘 날짜 자동 업데이트 TODAY 파일 열 때마다 항상 현재 날짜 표시 시간 정보는 포함하지 않음
현재 날짜 및 시간 자동 업데이트 NOW 파일 열거나 계산 시 현재 날짜 및 시간 표시 시간 정보까지 필요한 경우 사용

 

1. DATEDIF 함수: 숨겨진 보석 같은 날짜 차이 계산기

DATEDIF 함수는 엑셀에서 공식적으로 안내되지는 않지만, 두 날짜 사이의 기간을 년, 월, 일 등 다양한 단위로 계산할 때 매우 유용합니다. 특히 근속 연수나 만 나이를 정확하게 계산해야 할 때 이 함수의 진가가 드러납니다. 예를 들어, 입사일과 퇴사일(또는 오늘 날짜)을 기준으로 몇 년, 몇 개월, 며칠 근무했는지 정밀하게 계산할 수 있습니다.

사용법: `=DATEDIF(시작일, 종료일, "단위")`

  • 시작일: 기간 계산의 시작 날짜 셀 또는 날짜 값
  • 종료일: 기간 계산의 종료 날짜 셀 또는 날짜 값 (시작일보다 이후여야 합니다)
  • 단위:
    • "Y": 전체 년 수
    • "M": 전체 월 수
    • "D": 전체 일 수
    • "YM": 년 수를 제외한 월 수 (예: 1년 3개월 -> 3)
    • "MD": 년/월 수를 제외한 일 수 (예: 1년 3개월 15일 -> 15)
    • "YD": 년 수를 제외한 일 수 (시작일과 종료일 사이의 일수, 년도 무시)

유용한 팁: DATEDIF 함수는 자동 완성 기능이나 도움말에 표시되지 않으므로 직접 입력해야 합니다. 종료일이 시작일보다 이전이면 #NUM! 오류가 발생하니 주의하세요. 정확한 엑셀 날짜 계산을 위해 시작일과 종료일 형식이 올바른지 확인하는 것이 중요합니다.

 

 

2. 가장 쉬운 날짜 차이 계산: 그냥 빼세요!

두 날짜 사이의 단순 일수 차이를 계산하는 가장 쉬운 방법은 종료일에서 시작일을 빼는 것입니다. 엑셀은 날짜를 내부적으로 일련번호로 저장하기 때문에 간단한 뺄셈 연산만으로 총 경과 일수를 구할 수 있습니다. 프로젝트 진행 일수, 특정 이벤트까지 남은 일수 등 간단한 기간 계산에 매우 편리합니다.

 

사용법: `=종료일_셀 - 시작일_셀`

예를 들어, A1 셀에 시작일(2023-01-10), B1 셀에 종료일(2023-01-25)이 있다면, C1 셀에 `=B1-A1`을 입력하면 결과로 15가 나옵니다. 즉, 두 날짜 사이에는 15일의 차이가 있다는 의미입니다.

 

유용한 팁: 결과 값은 두 날짜 사이의 '간격'을 의미합니다. 만약 시작일과 종료일을 포함한 기간을 계산하려면 결과에 +1을 해주어야 합니다. 예를 들어, 1월 10일부터 1월 12일까지는 뺄셈으로는 2일이지만, 실제 포함된 날은 3일(10일, 11일, 12일)이므로 `=B1-A1+1` 과 같이 계산합니다. 엑셀 날짜 계산 시 포함 여부를 명확히 하는 것이 중요합니다.

 

3. 주말 제외 근무일 수 계산: NETWORKDAYS 함수

프로젝트 관리나 업무 일정 수립 시, 주말(토요일, 일요일)과 특정 공휴일을 제외한 실제 근무일수를 계산해야 하는 경우가 많습니다. 이때 NETWORKDAYS 함수를 사용하면 편리합니다. 이 함수는 시작일과 종료일 사이의 날짜 중 토요일과 일요일, 그리고 사용자가 지정한 공휴일을 제외한 날짜 수를 반환합니다.

사용법: `=NETWORKDAYS(시작일, 종료일, [공휴일_범위])`

  • 시작일: 기간 계산의 시작 날짜
  • 종료일: 기간 계산의 종료 날짜
  • [공휴일_범위]: (선택 사항) 제외할 공휴일 날짜들이 입력된 셀 범위. 미리 공휴일 목록을 별도의 시트에 정리해두면 편리합니다.

예를 들어, A1에 시작일, B1에 종료일, 그리고 D1:D10 범위에 공휴일 목록이 있다면, `=NETWORKDAYS(A1, B1, D1:D10)` 수식을 사용하여 주말과 지정된 공휴일을 제외한 근무일수를 계산할 수 있습니다.

유용한 팁: 공휴일 범위는 선택 사항이지만, 정확한 근무일수 계산을 위해서는 법정 공휴일, 창립기념일 등 회사별 휴일을 포함하는 것이 좋습니다. 엑셀 근무일 계산의 정확도를 높이기 위해 공휴일 목록을 최신 상태로 유지하세요.

 

4. 맞춤 휴일까지 고려한 근무일: NETWORKDAYS.INTL 함수

표준적인 주말(토, 일) 외에 다른 요일을 주말로 사용하거나, 근무 형태가 유연한 조직에서는 NETWORKDAYS 함수만으로는 부족할 수 있습니다. NETWORKDAYS.INTL 함수는 주말 요일을 사용자가 직접 지정할 수 있게 하여 더욱 유연한 근무일 계산을 지원합니다. 서비스업, 생산직 등 주말 근무가 필수적인 경우 유용합니다.

사용법: `=NETWORKDAYS.INTL(시작일, 종료일, [주말_옵션], [공휴일_범위])`

  • 시작일, 종료일, [공휴일_범위]: NETWORKDAYS 함수와 동일합니다.
  • [주말_옵션]: (선택 사항) 어떤 요일을 주말로 간주할지 지정합니다. 숫자로 지정하거나(예: 1은 토/일, 2는 일/월, ..., 11은 일요일만), 7자리 문자열(예: "0000011"은 토/일)로 지정할 수 있습니다. (0은 근무일, 1은 주말) 기본값은 1 (토/일)입니다.

예를 들어, 주말이 일요일뿐이라면 주말_옵션을 11로 지정하고, `=NETWORKDAYS.INTL(A1, B1, 11, D1:D10)`과 같이 사용합니다. 만약 금요일과 토요일이 주말이라면 "0000110" 또는 숫자 7을 사용합니다.

유용한 팁: 다양한 주말 옵션 코드는 엑셀 도움말을 참조하면 자세히 알 수 있습니다. 이 함수를 활용하면 전 세계 다양한 근무 환경에 맞춰 정확한 엑셀 근무일 계산이 가능해집니다.

 

5. 항상 최신 날짜로! TODAY 함수 자동 업데이트

엑셀 파일을 열 때마다 항상 오늘 날짜가 자동으로 업데이트되기를 원한다면 TODAY 함수를 사용하세요. 이 함수는 인수가 필요 없으며, 셀에 `=TODAY()` 라고 입력하기만 하면 됩니다. 보고서 작성일, 데이터 입력일 등을 표시하거나, 마감일까지 남은 일수를 계산할 때 기준 날짜로 활용하기에 매우 편리합니다.

사용법: `=TODAY()`

예를 들어, B1 셀에 마감일(2024-12-31)이 있고, A1 셀에 `=TODAY()`를 입력했다면, `=B1-A1` 수식을 통해 오늘 기준으로 마감일까지 남은 일수를 실시간으로 확인할 수 있습니다. 파일이 열리거나 시트가 재계산될 때마다 A1 셀의 날짜가 현재 날짜로 자동 변경됩니다.

유용한 팁: TODAY 함수는 날짜 정보만 반환하며 시간 정보는 포함하지 않습니다. 만약 특정 날짜를 고정하고 싶다면, 오늘 날짜를 입력하고 싶을 때 `Ctrl + ;` (세미콜론) 단축키를 사용하세요. 이러면 함수가 아닌 실제 날짜 값이 입력되어 자동으로 업데이트되지 않습니다.

 

6. 현재 날짜와 시간까지 한번에: NOW 함수

TODAY 함수와 유사하지만, 현재 날짜뿐만 아니라 현재 시간까지 함께 표시하고 싶을 때는 NOW 함수를 사용합니다. 이 함수 역시 인수가 필요 없으며, 셀에 `=NOW()` 라고 입력하면 됩니다. 작업 기록 시간, 데이터 업데이트 시간 등을 정확히 남겨야 할 때 유용합니다.

사용법: `=NOW()`

NOW 함수를 입력한 셀에는 'YYYY-MM-DD HH:MM' 형식과 같이 날짜와 시간이 함께 표시됩니다. (표시 형식은 셀 서식에서 변경 가능). 이 함수 역시 파일이 열리거나 시트가 재계산될 때마다 현재 날짜와 시간으로 자동 업데이트됩니다.

유용한 팁: TODAY와 NOW 함수는 '휘발성 함수'입니다. 즉, 워크시트에서 어떤 계산이 수행될 때마다 다시 계산됩니다. 이는 데이터가 많은 파일의 성능에 영향을 줄 수 있으므로 꼭 필요한 경우에만 사용하는 것이 좋습니다. 현재 날짜와 시간을 고정값으로 입력하려면 `Ctrl + Shift + ;` (세미콜론) 단축키를 사용하세요. 이는 정확한 엑셀 날짜 계산 및 기록 관리에 도움이 됩니다.

 

자주 묻는 질문 Q&A

Q1: 엑셀에서 만 나이를 정확하게 계산하려면 어떻게 해야 하나요?

A1: DATEDIF 함수를 사용하면 가장 정확합니다. 생년월일이 A1 셀에 있다면, `=DATEDIF(A1, TODAY(), "Y")` 수식을 사용하여 오늘 날짜 기준으로 만 나이를 계산할 수 있습니다.

Q2: 특정 요일(예: 수요일)만 제외하고 근무일수를 계산할 수 있나요?

A2: 네, NETWORKDAYS.INTL 함수의 '주말_옵션'을 문자열 방식으로 사용하면 가능합니다. 예를 들어 수요일만 주말로 지정하려면 7자리 문자열 "0010000" (월요일부터 시작)을 사용합니다. `=NETWORKDAYS.INTL(시작일, 종료일, "0010000", [공휴일_범위])` 와 같이 입력합니다.

Q3: DATEDIF 함수 사용 시 시작일이 종료일보다 늦으면 어떻게 되나요?

A3: #NUM! 오류가 발생합니다. DATEDIF 함수는 항상 시작일이 종료일보다 이전이거나 같아야 정상적으로 작동합니다.

Q4: NETWORKDAYS나 NETWORKDAYS.INTL 함수에서 공휴일은 어떻게 처리되나요?

A4: 함수에 지정된 공휴일_범위 내의 날짜는 근무일수 계산에서 제외됩니다. 만약 공휴일이 주말과 겹치는 경우, 중복으로 제외되지 않고 한 번만 제외됩니다.

Q5: TODAY() 함수와 NOW() 함수의 가장 큰 차이점은 무엇인가요?

A5: TODAY() 함수는 현재 '날짜' 정보만 반환하는 반면, NOW() 함수는 현재 '날짜와 시간' 정보를 함께 반환합니다. 시간 정보가 필요 없다면 TODAY()를, 시간까지 필요하다면 NOW()를 사용합니다.

Q6: 시간 차이만 계산하고 싶을 때는 어떻게 하나요?

A6: 두 시간 값이 각각 A1, B1 셀에 있다면 `=B1-A1`로 계산할 수 있습니다. 결과 값의 셀 서식을 '시간' 형식(예: [h]:mm:ss)으로 지정해야 정확한 시간 차이를 볼 수 있습니다. 24시간을 초과하는 시간 차이를 표시하려면 대괄호 `[h]`를 사용해야 합니다.

Q7: DATEDIF 함수를 입력했는데 #NAME? 오류가 떠요.

A7: #NAME? 오류는 함수 이름을 잘못 입력했을 때 발생합니다. DATEDIF는 자동 완성이 안 되므로 오타 없이 정확히 'DATEDIF'라고 입력했는지 확인해 보세요.

Q8: 날짜 계산 함수들을 조합해서 사용할 수도 있나요?

A8: 네, 가능합니다. 예를 들어, 특정 프로젝트 시작일(A1)부터 오늘까지의 근무일수(주말, 공휴일 제외)를 계산하려면 `=NETWORKDAYS(A1, TODAY(), 공휴일_범위)` 와 같이 TODAY 함수와 NETWORKDAYS 함수를 함께 사용할 수 있습니다.

Q9: 날짜 계산 결과가 숫자로만 나오는데, '년/월/일' 형식으로 표시하고 싶어요.

A9: DATEDIF 함수를 여러 번 사용하고 문자열 결합 연산자(&)를 사용해야 합니다. 예를 들어 근속 기간을 'X년 Y개월 Z일'로 표시하려면 `=DATEDIF(시작일,종료일,"Y")&"년 "&DATEDIF(시작일,종료일,"YM")&"개월 "&DATEDIF(시작일,종료일,"MD")&"일"` 과 같이 복잡한 수식을 구성해야 합니다.

Q10: TODAY()나 NOW() 함수를 많이 사용하면 엑셀이 느려지나요?

A10: 네, 이 함수들은 워크시트가 변경될 때마다 재계산되므로, 매우 큰 파일이나 복잡한 계산이 많은 시트에서는 성능 저하의 원인이 될 수 있습니다. 꼭 실시간 업데이트가 필요한 경우가 아니라면 고정된 날짜/시간 값을 사용하는 것이 좋습니다.


 

반응형