날짜와 시간 데이터의 기본 개념과 생성 방법, 구성 요소를 추출하는 방법에서 날짜 및 시간 함수 활용의 꽃이라고 할 수 있는, 두 날짜 또는 시간 사이의 간격을 정확하게 계산하는 방법을 알아볼 차례입니다.
기간 계산에 특화된 함수들을 집중적으로 다룰 예정입니다. 이 함수들을 통해 근속 연수, 프로젝트 경과 일수, 서비스 응답 시간, 대출 연체 일수 등 다양한 비즈니스 지표를 도출하고, 데이터를 기반으로 한 중요한 의사결정을 내려봅시다.
업무에서는 '며칠 남았는가?', '총 몇 년 동안 근무했는가?', '이 작업은 몇 시간 걸렸는가?'와 같은 질문에 끊임없이 답해야 합니다.
단순히 숫자만 빼는 방식으로 날짜를 계산하면 정확한 월, 년 단위의 간격을 얻기 어렵고, 특히 윤년이나 월별 일수 차이 때문에 오류가 발생하기 쉽습니다.
엑셀의 날짜 간격 계산 함수들은 이러한 복잡성을 해결하고, 항상 정확하고 신뢰할 수 있는 결과값을 제공하여 프로젝트 관리, 인사, 재무, 고객 서비스 등 다양한 분야에서 핵심적인 역할을 합니다.
주요 함수들
다음 함수들을 실무 예제와 함께 자세히 살펴보겠습니다.
- DATEDIF: 두 날짜 사이의 연도, 월, 일 간격 계산 (숨겨진 함수)
- DAYS: 두 날짜 사이의 일수 계산 (날짜 차이)
- DAYS360: 360일 기준으로 두 날짜 사이의 일수 계산
- YEARFRAC: 두 날짜 사이의 연도 수 (소수점 포함) 계산
- 시간 산술 연산: 시간 값의 덧셈/뺄셈을 통한 경과 시간 계산
실무 예제로 배우는 엑셀 함수 마스터하기
각 함수를 실제 비즈니스 시나리오에 적용하여 날짜 및 시간 간격을 효과적으로 계산하는 방법을 보여드리겠습니다.
1. DATEDIF: 날짜 간격의 마법사 (년, 월, 일 단위)
DATEDIF 함수는 두 날짜 사이의 기간을 년, 월, 일 단위로 정확하게 계산합니다. 엑셀 함수 목록에는 나타나지 않는 '숨겨진' 함수이지만, 매우 강력하고 유용합니다.
- 기본 형식: =DATEDIF(시작_날짜, 종료_날짜, 단위)
- 시작_날짜: 기간의 시작일
- 종료_날짜: 기간의 종료일
- 단위: 반환할 기간의 유형 (따옴표로 묶습니다)
- "Y": 두 날짜 사이의 전체 년 수
- "M": 두 날짜 사이의 전체 월 수
- "D": 두 날짜 사이의 전체 일 수
- "YM": 연도를 제외한 월 수 (즉, 남은 월 수)
- "YD": 연도를 제외한 일 수 (즉, 남은 일 수)
- "MD": 년과 월을 제외한 일 수 (즉, 남은 일 수)
실무 예제: 직원들의 입사일을 기준으로 현재까지의 근속 연수, 월수, 일수를 계산해야 합니다.
직원명 | 입사일 |
김대리 | 2018-05-10 |
이사원 | 2022-11-25 |
박과장 | 2020-03-01 |
(오늘 날짜는 2025-06-21로 가정합니다.)
예제 목표: C, D, E열에 각 직원의 근속 연수, 연수 제외 월수, 월수 제외 일수를 계산하여 'X년 Y개월 Z일' 형식으로 표시하세요.
해결 방법:
- 근속 연수 (년): C2 셀에 =DATEDIF(B2, TODAY(), "Y") 입력 후 아래로 채웁니다.
- 연수 제외 월수 (개월): D2 셀에 =DATEDIF(B2, TODAY(), "YM") 입력 후 아래로 채웁니다.
- 월수 제외 일수 (일): E2 셀에 =DATEDIF(B2, TODAY(), "MD") 입력 후 아래로 채웁니다.
- 전체 형식 결합: F2 셀에 =C2&"년 "&D2&"개월 "&E2&"일" 입력 후 아래로 채웁니다.
결과:
직원명 | 입사일 | 근속년 | 근속월 | 근속일 | 근속기간(결합) |
김대리 | 2018-05-10 | 7 | 1 | 11 | 7년 1개월 11일 |
이사원 | 2022-11-25 | 2 | 6 | 26 | 2년 6개월 26일 |
박과장 | 2020-03-01 | 5 | 3 | 20 | 5년 3개월 20일 |
최상급 실무 활용: DATEDIF는 인사 관리(근속 연수, 퇴직금 산정 기준), 계약 만료일 계산, 프로젝트 잔여 기간 추정 등 날짜 기반의 정확한 기간 계산이 필요한 모든 곳에서 강력한 도구로 사용됩니다. 특히 윤년이나 월별 일수 차이를 자동으로 고려하여 정확한 값을 제공합니다.
2. DAYS: 두 날짜 사이의 총 일수 계산
DAYS 함수는 두 날짜 사이의 총 일수를 계산합니다. 단순히 두 날짜를 빼는 것보다 오류 발생 가능성이 낮고 명시적입니다.
- 기본 형식: =DAYS(종료_날짜, 시작_날짜)
- 주의: 인수의 순서가 종료_날짜가 먼저, 시작_날짜가 나중입니다.
실무 예제: 프로젝트 시작일과 종료일을 기준으로 총 프로젝트 기간(일수)을 계산해야 합니다.
프로젝트 | 시작일 | 종료일 |
A | 2025-01-10 | 2025-02-05 |
B | 2025-03-20 | 2025-03-25 |
C | 2024-11-01 | 2025-01-31 |
예제 목표: D열에 각 프로젝트의 총 기간(일수)을 계산하세요.
해결 방법: D2 셀에 =DAYS(C2, B2) 입력 후 아래로 채웁니다.
결과:
프로젝트 | 시작일 | 종료일 | 총 기간(일) |
A | 2025-01-10 | 2025-02-05 | 26 |
B | 2025-03-20 | 2025-03-25 | 5 |
C | 2024-11-01 | 2025-01-31 | 91 |
최상급 실무 활용: 프로젝트 관리(진척률 계산), 계약 기간, 서비스 이용 기간, 재고 보관 기간 등 총 일수 계산이 필요한 모든 시나리오에 활용됩니다. 특히 TODAY() 함수와 조합하여 특정 기한까지 남은 일수를 실시간으로 추적하는 데 매우 유용합니다.
3. DAYS360: 360일 기준으로 일수 계산 (재무/회계)
DAYS360 함수는 1년을 360일로 가정하여 두 날짜 사이의 일수를 계산합니다. 이 방식은 주로 특정 재무 및 회계 계산에서 사용됩니다.
- 기본 형식: =DAYS360(시작_날짜, 종료_날짜, [메서드])
- 메서드 (선택): FALSE(미국식, 생략 시 기본값), TRUE(유럽식)
실무 예제: 대출 이자 계산에 360일 기준이 적용되는 경우, 두 날짜 사이의 일수를 계산해야 합니다.
대출번호 | 시작일 | 종료일 |
L001 | 2025-01-01 | 2025-03-31 |
L002 | 2025-02-28 | 2025-03-01 |
예제 목표: D열에 각 대출 기간을 360일 기준으로 계산하세요.
해결 방법: D2 셀에 =DAYS360(B2, C2) 입력 후 아래로 채웁니다.
결과:
대출번호 | 시작일 | 종료일 | 306일 기준 일수 |
L001 | 2025-01-01 | 2025-03-31 | 90 |
L002 | 2025-02-28 | 2025-03-01 | 3 |
최상급 실무 활용: 이자 계산, 채권 수익률 계산, 재무 보고서 작성 등 360일 기준의 회계 연도가 적용되는 특수한 재무 분야에서 사용됩니다. 일반적인 날짜 계산에는 DAYS 함수를 사용하고, 특정 회계 기준에 맞춰야 할 때 DAYS360을 활용합니다.
4. YEARFRAC: 연도 단위로 소수점 포함 기간 계산
YEARFRAC 함수는 두 날짜 사이의 연도 수를 소수점(분수) 형태로 반환합니다. 이는 특정 기간이 1년 중 차지하는 비율을 계산할 때 유용합니다.
- 기본 형식: =YEARFRAC(시작_날짜, 종료_날짜, [기준])
- 기준 (선택): 연도 일수를 계산하는 데 사용할 기준 (0: 30/360, 1: 실제/실제, 2: 실제/360, 3: 실제/365, 4: 유럽 30/360)
실무 예제: 특정 프로젝트의 연간 경과율을 계산해야 합니다.
프로젝트 | 시작일 | 종료일 |
P001 | 2025-01-01 | 2025-06-30 |
P002 | 2024-07-01 | 2025-06-30 |
예제 목표: D열에 각 프로젝트가 전체 연도에서 차지하는 비율을 계산하세요. (실제/실제 기준)
해결 방법: D2 셀에 =YEARFRAC(B2, C2, 1) 입력 후 아래로 채웁니다.
결과:
프로젝트 | 시작일 | 종료일 | 연간 비율 (소수점) |
P001 | 2025-01-01 | 2025-06-30 | 0.4986 |
P002 | 2024-07-01 | 2025-06-30 | 0.9973 |
최상급 실무 활용: 재무 분석에서 연간 수익률, 프로젝트의 연간 기여도, 보험료 계산 등 기간을 연도 단위의 분수로 표현해야 할 때 사용됩니다. 특히 다양한 기준을 지원하여 특정 회계 기준에 맞춰 유연하게 계산할 수 있습니다.
5. 시간 산술 연산: 시간 간격 계산 및 포맷팅
엑셀에서 시간은 0과 1 사이의 소수 형태로 저장되므로, 시간 값끼리 직접 덧셈, 뺄셈을 하여 시간 간격을 계산할 수 있습니다.
중요한 것은 결과 셀의 서식을 올바르게 지정하는 것입니다.
- 기본 아이디어: 종료 시간 - 시작 시간
실무 예제: 직원들의 출퇴근 시간을 기준으로 일일 근무 시간을 계산해야 합니다.
직원명 | 출근 시간 | 퇴근 시간 |
김철수 | 09:00:00 AM | 06:00:00 PM |
이영희 | 09:30:00 AM | 05:00:00 PM |
박지성 | 10:00:00 AM | 07:30:00 PM |
최민수 | 08:00:00 AM | 05:00:00 PM |
예제 목표: D열에 각 직원의 일일 근무 시간을 [h]:mm 형식으로 표시하세요. (예: 9:00)
해결 방법:
- D2 셀에 =C2-B2 입력 후 아래로 채웁니다.
- D열의 셀들을 선택하고, 홈 탭 -> 표시 형식 그룹에서 사용자 지정을 선택하고, [h]:mm으로 입력합니다. ([h]는 24시간을 넘어서도 시(hour)를 누적하여 표시하도록 합니다.)
결과:
직원명 | 출근 시간 | 퇴근 시간 | 일일 근무 시간 |
김철수 | 09:00:00 AM | 06:00:00 PM | 9:00 |
이영희 | 09:30:00 AM | 05:00:00 PM | 7:30 |
박지성 | 10:00:00 AM | 07:30:00 PM | 9:30 |
최민수 | 08:00:00 AM | 05:00:00 PM | 9:00 |
최상급 실무 활용: 근태 관리, 생산 시간 분석, 서비스 응답 시간 측정, 물류 배송 시간 계산 등 시간 간격을 측정하는 데 가장 직관적이고 널리 사용됩니다.
특히 셀 서식을 [h]:mm 또는 [h]:mm:ss로 지정하는 것이 핵심인데, 이렇게 하지 않으면 24시간을 넘어가는 시간은 제대로 표시되지 않을 수 있습니다.
DATEDIF, DAYS, DAYS360, YEARFRAC 함수들을 통해 두 날짜 사이의 다양한 형태의 간격을 계산하는 방법을 알아보았습니다. 또한, 시간 값의 산술 연산을 통해 근무 시간 등 시간 기반의 간격을 측정하는 방법도 살펴보았습니다.
이 함수들은 정확한 기간 계산을 통해 여러분의 보고서와 분석의 신뢰도를 높여줄 것입니다.